Sie sind auf Seite 1von 17

Self Education Regime Math.....................................................................................................................................2 JavaScript.............................................................................................................................3 Java......................................................................................................................................4 C++......................................................................................................................................5 Computer Organization........................................................................................................7 Operating systems (LINUX)................................................................................................8 Computer Networks.............................................................................................................

9 Systems Analysis and Design............................................................................................11 User Support - Help Desk..................................................................................................12 Data Structures and Algorithms (COMP 272)...................................................................13 System Administration (UNIX).........................................................................................14 Database Management (3rd year material)........................................................................15 Computer Graphics and Game Programming....................................................................16

Math
Barnett, Raymond A., Michael R. Ziegler, and Karl E. Byleen. Finite Mathematics for Business, Economics, Life Sciences, and Social Sciences: Custom Edition for Athabasca University. Toronto, ON: Pearson Canada / Pearson Custom Publishing, 2008. This textbook is a customized monograph prepared exclusively for Athabasca Universitys Mathematics 209 from Barnett, R. A., M. R. Ziegler, and K. E. Byleen. Finite Mathematics for Business, Economics, Life Sciences, and Social Sciences, 11th ed. Upper Saddle River, NJ: Pearson / Prentice Hall, 2008. Barnett, R. A., M. R. Ziegler, and K. E. Byleen. Student Solutions Manual for Finite Mathematics for Business, Economics, Life Sciences, and Social Sciences, 11th ed. Upper Saddle River, NJ: Pearson / Prentice Hall, 2008. Gossett, Eric. Discrete Source. Boston: Pearson Custom Publishing, 2007. Finite Mathematics Linear Equations and Graphs Functions and Graphs Mathematics of Finance Systems of Linear Equations: Matrices Linear Inequalities and Linear Programming Linear Programming: The Simplex Method Properties of Markov Chains Games and Decisions Discrete Mathematics What is Discrete Mathematics? Sets, Logic, and Boolean Algebras Proofs Counting Functions and Equivalence Relations Formal Models in Computer Science

JavaScript
Patrick Carey, Frank Canovatchel. New Perspectives on JavaScript, Comprehensive, ISBN: 978-0-619-26797-1, Thomson Course Technology, September 2005.

Arrays Loops Conditional statements Define Functions Programming Objects Create special effects Windows Frames Handling forms Handling Events Regular Expressions String Methods Cookies Capture mouse motions and keystrokes

Java
Dale, Weems and Headington. Programming and Problem Solving with Java, A Laboratory Course for programming with Java (packaged together) 2003, (1st ed.). Jones & Bartlett. ISBN: 0763725781 Eckel, B. 2006. Thinking in Java, 4th Edition. Upper Saddle River, NJ: Prentice Hall. ISBN: 0131872486.

Arithmetic expressions Selection and Encapsulation File Objects and Looping Statements Object-Oriented Design and Implementation Inheritance, Polymorphism, and Scope Event-Driven Input and Output Exceptions and Additional control structures One-dimensional arrays Array-based lists Multidimensional arrays and numeric computations Recursion Applets Object oriented programming in Java Collections Arrays Exceptions Strings Types Generics Containers Java IO and Networking GUI Development Concurrency Annotations Java Documentation

C++
Eckel, B. (2000) Thinking in C++, 2nd ed. Prentice Hall, Upper Saddle River, NJ. Ramteke, Timothy. 1998. Introduction to C and C++ for Technical Students: A Skill Building Approach. Prentice-Hall, Inc.

Introduction to objects Making an using objects The C in C++ Data Abstraction Hiding the implantation Initialization and Cleanup Function overloading and default arguments Constants Inline Functions Name control References and the copy-constructor Operator overloading Dynamic object creation Inheritance and Composition Polymorphism and virtual functions Templates C++ Compiler and development environment tools Online version of Thinking in C++ Procedural Programming Using C GCC Development Environment Fundamentals of C Programming Program Control Statements Arrays Functions Data Structures Pointers File I\O Object-oriented programming using C++ OO principles MS Visual C++ 6.0 (Installation and Basic Getting Started) Abstraction Dynamic Objects Inheritance Polymorphism Advanced topics

Microsoft Visual C++ Intro Version 6.0 2000 (CD) To expose students to major C and C++ development environments, two different compilers will be used in the course. AU provides an educational version of Microsoft Visual C++ on a CD. The Free Software Foundation provides a free version of GCC (GNU Compiler Collection), the premier text-based C/C++ compiler.

Computer Organization
Silberschatz, A., Galvin, P. B. & Gagne, G. (2004). Operating system concepts. 7th ed. Wiley & Sons, Inc. ISBN 0-471-69466-5.

Unit 1: Overview Section 1: Introduction Section 2: Computer System Structures Section 3: Operating System Structures Unit 2: Process Management Section 1: Processes Section 2: CPU Scheduling Section 3: Process Synchronization Section 4: Deadlocks Unit 3: Storage Management Section 1: Memory Management Section 2: Virtual Memory Section 3: File System Interface Section 4: File System Implementation Section 5: Secondary Storage Structure Unit 4: Protection and Security Section 1: Protection Section 2: Security
COMP 314 examines how the hardware components of the computer are orchestrated by the operating system to provide the user/programmer with efficient and convenient service and high degree of machine independence in writing and executing programs and in managing system resources. The main concerns of this course are the fundamental principles and concepts of operating systems. Computer organization is a vast topic that cannot be covered in the frame of a single course. A number of important topicssuch as the design and implementation of digital circuits and other hardware components, machine language and assembler language programming, and an in-depth survey of existing hardware architecturesare not covered in this course. It is assumed that students are familiar with the basic structure and the main hardware components of the computer. Topics covered in COMP 314 include an overview of computersystem structures and operating-system structures; process management (what a process is, CPU scheduling, process synchronization, deadlocks, and inter-process communication); storage management (memory management, virtual memory, disk management, and filesystem management); protection and security issues (access matrix and its implementations, authentication, viruses and other intruders, and encryption); and an overview of distributed systems (network structures, distributed system structures, and distributed file systems).

Operating systems (LINUX)


Koretsky, Robert, UNIX: The Textbook, 2004. 2/e, Addison Wesley. ISBN: 032122731X

History and definitions UNIX Commands Text editing UNIX file system Advanced file processing Redirection and piping Processes Networking and internetworking Shell programming File system backup UNIX tools for software development
At the end of this course, students are expected to know most aspects of UNIX that are needed by a program developer or UNIX user, and some system administration. Although it is not required for this course, students are encouraged to install Linux on their personal computers.

Computer Networks
Kurose, J. F. and K. W. Ross (2004) Computer Networking, 3rd ed. Addison-Wesley Longman, Inc., New York, NY. http://www.aw.com/kurose-ross/ Harold, E. R. (2005) Java Network Programming, 3rd ed. O'Reilly, Cambridge, MA. Kurose, J. F. and K. W. Ross (2005) Computer Networking: A Top-Down Approach Featuring the Internet, 3rd ed. Addison-Wesley Longman, Inc., New York, NY.

Computer networks and the internet and the World Wide Web Application layer and network applications Transport layer Network layer and routing The link layer and local area networks Wireless and mobile networks

Unit Unit Unit Unit Unit Unit Unit Unit Unit

0: 1: 2: 3: 4: 5: 6: 7: 8:

Introduction Introduction to Computer Networks, the Internet and the World Wide Web Application Layer and Network Applications Transport Layer Network Layer and Routing The Link Layer and Local Area Networks Wireless and Mobile Networks Computer Networking in Practice Network Management

Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit

Network Programming in JAVA

0: Introduction to the course (H1) 1: Review of Computer Networks, the Internet and the World Wide Web (H2,3) 2: Review of Java Programming (H4,5) 3: Fundamental network operations in Java (H6,7,8,9) 4: Basic Socket Programming in Java (H10,11,13) 5: Security in Computer Networks (K7) 6: Advanced Socket Programming in Java (H12,14) 7: Multimedia networking(K6) 8: Handling URLs, protocols and contents of Web documents (H15, 16, 17) 9: Remote method invocation(H18) 10: Dealing with Email in Java (H19)

COMP 348 is designed to extend the students' knowledge and practice in analysis and design of computer networks by focusing itself on computer network programming. In addition, some advanced network topics including network security and multimedia computer network are introduced in this course. Java will be used throughout the course for programming. To be able to complete this course, a student should have both sufficient knowledge about computer networks, especially the Internet, and some good programming skills in Java. All units are closely based on material from Java Network Programming and Computer Networking and Computer NetworkingA Top Down Approach. Unit 1 is a brief review, with

additional examples, of what you have learned from COMP 347. Unit 2 is a review of Java programming you should have learned from previous courses. For Unit 7 students may be advised to read other reference texts and online materials.

Systems Analysis and Design


Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: Introduction and overview Systems development and the systems analyst Systems development methodologies, models, tools, and techniques Project management and the Unified Process The requirements discipline Detailed requirements modeling Design activities and environments Use case realization System access Implementation

Satzinger, John W., R. B. Jackson and S. D. Burd. Object-Oriented Analysis and Design with the Unified Process. Thomson Course Technology, 2005. Systems analysis is the application of problem solving to a particular area of human activities. This course deals with the concepts, skills, methodologies, techniques, tools, and perspectives essential for systems analysts. The practical component of COMP 361 is object-oriented and use-case driven.

User Support - Help Desk


Unit Unit Unit Unit 1: 2: 3: 4: The The The The User Support Environment User Support Analysts Process of User Support User Support System and Its Relation to the Organization's Other Systems

Czegal, Barbara. (1999). Help Desk Practioner's Handbook. John Wiley and Sons: New York. COMP 365 Introduction to User Support, is designed as a three-credit course to cover fundamental skills required to provide effective user support. The overall objective of the course is to prepare the learner for a position as a trainee in a user support environment. To accomplish this aim, the course will cover the fundamental and vital communication and problem-solving skills required, as well as introduce the learner to knowledge base, case tracking, and user support software concepts. A good command of spoken English is required for user support work in an English-speaking environment, and will be tested in specific components of the course.

Data Structures and Algorithms (COMP 272)


The course work in COMP 272 requires students to have a Java 5 compiler and virtual machine installed in their computer. Unit 1: Algorithm Analysis

o o o

Algorithm, function, running time, input size, dominant term, Big-Oh. Definitions: Big-Oh, Big-Omega, Big-Theta, and Little-Oh. Cost analysis of algorithms, verification of running times.

Unit 2: Recursion

o o o

Recursive definition, proof by induction. Implementation of recursion, stack of method activation records. Divide-and-conquer algorithms.

Unit 3: Sorting

o o o

The sorting problem, Insertion Sort, quadratic sorting algorithms. Shell Sort, Merge Sort. Quick Sort, Quick Select.

Unit 4: List, Stack, and Queue

o o o o

List, stack, and queue ADTs, Java's iterator pattern. Array and linked implementations of list ADTs, cost analysis. Array and linked implementations of stack and queue ADTs, cost analysis. Doubly linked lists and circular lists.

Unit 5: Tree

o o o

Terminology of trees. Binary trees and their traversals. Implementation of binary search tree, cost analysis.

Unit 6: Heap

o o o o

Binary heap as priority queue. Implementation of binary heap, cost analysis. Heap Sort. External sorting, replacement selection.

Unit 7: Hashing

o o o

Concept of hashing, hash functions. Collision resolution strategies, clustering. Hash table implementations, cost analysis.

Textbook reference

Weiss, A. Mark. Data Structures & Problem Solving Using Java (3rd edition), 2005. Toronto: Pearson Education Inc. ISBN: 0321322134

System Administration (UNIX)


Unit 1: Booting and Shuting Down: Kernel initialization, system processes, startup scripts, etc. Important users: superuser, daemon, bin, sys. o Unit 2: The File System: Regular files, directories, character and block files, hard links, symbolic links, permission bits, etc. o Unit 3: Controlling Processes: PID, PPID, UID, GID, priority and nice value, signals, process states, etc. o Unit 4: Adding New Users: editing passwd file, initial passwd, startup files, accounting info, quotas, etc. o Unit 5: Devices and Drivers: Adding device drivers, naming conventions, loadable kernel modules, etc. o Unit 6: Periodic Processes: cron, changing crontabs, UUCP polling, accounting, etc. o Unit 7: Backups: Backup devices and media (floppies, flopticals, tapes), incremental backup regime, restoring, archiving programs, etc. o Unit 8: Syslog and Log Files: syslog, configuring syslogd, using syslog programs, etc. o Unit 9: Configuring the Kernel: Building, compiling and installing the kernel. o Unit 10: TCP/IP and Routing: Packets, Internet addresses, address translation, setting up a network, network debugging, etc. o Unit 11: The Domain Name System: DNS name space, components of BIND, the DNS database, etc. o Unit 12: The Network File System: Server-Side NFS, Client-Side NFS, automatic mounting, security of NFS, etc. o Unit 13: SLIP and PPP: Basic connection model, network concersetc. o Unit 14: Network Management: Detecting network faults, SNMP. o Unit 15: Security Issues o Unit 16: Disk Space Management

Textbook: UNIX System Administration Handbook, Evi Nemeth et. al. The course materials for COMP 374 come with 4 CDs. The first 3 CDs are enough to install a completely operational Fedora Core 2 Linux, which is actually Red Hat Linux 9 with additions. All the information you need to install Fedora Core 2 Linux is available on http://fedora.redhat.com/. The CDs are the 32-bit version. If you have a better hardware, then you can download the 64-bit version available on the site. UNIX is a multi-user operation system that has found wide use in networking environments. Students are required to install a Linux operating system on their own computer before starting this course. Students completing the prerequisite course, COMP 315, are expected to have the required knowledge and skills to install UNIX/Linux on their personal computers. There are many Linux releases on the market. Although there are differences between these releases, COMP 374 is designed to work for all. The textbook used will explain the original UNIX (BSD and AT&T) rather than deal with a specific version or distribution. Red Hat Linux is supplied to provide a common platform for all students. The course has six labs that are to be done on the student's system and submitted to the tutor for grading.

Database Management (3rd year material)


Unit 1: Introduction to Database Systems: This unit provides an introduction to the subject area, an overview of the process of developing a database, and core definitions. o Unit 2 - Data Modeling: The Entity-Relationship Diagram: this unit discusses the entity-relationship (E-R) diagram, how it may be used to model real-life situations, and its symbols and constructs. o Unit 3 - The Relational Model and Normalization: This unit explains the relational model, normalization, and how to transform an entity-relationship data model into a relational model. o Unit 4 - Physical Database Design: This unit introduces the physical design process, its steps, inputs, and outputs. o Unit 5 - SQL - A Standard Navigation Language for Relational Databases: This unit introduces the SQL language in detail, its features, data definition commands, and data manipulation commands independent of a specific database management system. o Unit 6 - Introduction to Client/Server and Internet Database Environment: This unit introduces Internet database environment, including Web-enabled databases, Web-enabled system design and programming within an overall client/server architecture for systems, XML, and Web services. o Unit 7 - Data Administration and Database Administration: This unit is devoted to the roles of data administration and database administration, their function areas, and their importance for an information resource that is shared among several users. o Unit 8 - Data Modeling II - The Object-Oriented Data Model (O-O): This unit focuses on the object-oriented model. It explains how to map UML concepts into logical schemas and introduce OQL language. o Unit 9 - Introduction to Data Warehousing: This unit introduces the fundamental concepts of Data Warehousing. The three layer model and star architecture are explained.

Fred, R. McFadden Jeffrey, A Hoffer, Mary, B. Prescott. 2005. Modern Database Management. 7th ed.

Software: Oracle 10g is now a requirement for COMP 378. This is included with your textbook, but you may also download this free version of the Oracle database from www.oracle.com site. Please read Virtual Helpdesk: Installing Oracle 10g for instructions regarding computer requirements and download information. This course is developed in a logical fashion that is based on the database development life cycle. This makes it easy for students to relate the topics to each other along one logical line. The structure of the course follows the development of the material in the Modern Database Management, 7th ed., by Hoffer, Prescott & McFadden. The Study Guide consists of nine units. Each unit starts with its goal, followed by one or more sections. Each section contains goal, objectives and activities. The theoretical material in this course is supplemented by some lab components. These labs provide hands-on training for students and link to commercial products. The labs examine features of Oracle in detail and provide an extensive coverage of Oracle commands. The course uses Personal Oracle.

Computer Graphics and Game Programming


o o o o o o o o o o o
Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit Unit 1: Basics of Computer Graphics Hardware 2: Scanning Algorithms 3: Two Dimensional Geometry 4: Three Dimensional Geometry 5: Three Dimensional Graphics 6: Elements of Lighting 7: Visual Effects 8: Colour Models 9: Advanced Geometry 10: Advanced Topics 11: Support Environments

Introduction to Computer Graphics *94 Foley, James D. Reprinted with corrections May, 1996 AU recommends Microsoft Visual C++ 6.0 or Microsoft Visual C++.NET, and can provide assistance regarding the installation and use of these products with OpenGL and GLUT. If you wish to use any version of Borland C/C++ or Gnu g++, or any other C compiler, it is your responsibility to provide the tutor with a solution that will compile and run under Microsoft Visual Studio. We are unable to support all platforms.

o o o o o o o o o

Unit Unit Unit Unit Unit Unit Unit Unit Unit

1: 2: 3: 4: 5: 6: 7: 8: 9:

Introduction to Computer Game Construction A Simple Two-Dimensional Interactive Game Computer Graphics Geometry Constructing a 3D Interactive Game Artificial Intelligence (AI) and Game AI Advanced Modeling Rendering Techniques Gaming Issues Conclusion

Hearn, Donald & M. Pauline Baker. Computer Grahpics with OpenGL, 3rd edition. Upper Saddle River, NJ: Pearson/Prentice Hall, 2004 (referred to in this course as Hearn and Baker) Funge, John David. Artificial Intelligence for Computer Games. Wellesley, MA: A. K. Peters, 2004 (referred to in this course as Funge) AU recommends Microsoft Studio 8.0 or above, and can provide assistance regarding the installation and use of these products with OpenGL and GLUT. If you wish to use any version of Borland C/C++ or Gnu g++, or any other C compiler, it is your responsibility to provide the tutor with a solution that will compile and run under Microsoft Visual Studio.

Modern computer games can be very complex pieces of software. Their construction can require deep knowledge of almost all core areas of computer science and many specialized areas, including specialized software engineering methodologies. This course will cover:

o o

Practical computer graphics Interactive graphical programming

Game Artificial Intelligence (AI) and Game

Engines.

Das könnte Ihnen auch gefallen