[Calendar Home Page] Wilfrid Laurier University - 2001/2002 Undergraduate Academic Calendar

Faculty of Science


Computing Courses

CP102 Information Processing with Microcomputer Systems 0.5

An introduction to the concepts of microcomputer hardware and software applications in a hands-on environment. Examples are based on the needs of students in the arts and sciences and are intended to give background knowledge and experience in the use of the microcomputer as a tool for many different applications. Topics include the history of technological innovation in microcomputer systems, design and operation, input/output devices, storage media and techniques, communications, operating systems, word processors, spreadsheets, statistics packages, computer-aided design and drawing, database management and system utilities.

Exclusion: BU115, BU155; registration in BA or BSc programs in Computing or Physics; CS100 (University of Waterloo).
3 lecture hours, 3 lab. hours

CP104 Introduction to Programming 0.5

An introductory course designed to familiarize the student with modern software development techniques. Emphasis is on problem-solving and structured program design methodologies. Programming projects are implemented in a widely used high-level language. (It is strongly recommended that students have at least one OAC mathematics or science course.) (This course may be "challenged for credit".)

3 lecture hours, 3 lab. hours

CP114 Data Structures I 0.5

Introduction to analysis of algorithms, data structures, recursion, searching, sorting, linked lists, queues, stacks, trees.

Prerequisite: CP104.
3 lecture hours, 3 lab. hours

CP120 Digital Electronics 0.5

(Cross-listed as PC120.)

CP200º Electronics Laboratory I 0.25

(Cross-listed as PC200º.)

CP211 File Structures and Processing 0.5

A comprehensive study of commercial data processing principles, including design strategies, documentation techniques, file structures and access methods. Programming projects are implemented in a widely used file processing language such as COBOL.

Prerequisite: CP114.

CP213 Introduction to Object-oriented Programming **NEW** 0.5

Fundamentals of object-oriented programming, classes, subclasses, inheritance, references, overloading, event-driven and concurrent programming, using modern application programming interface. The language Java will be used.

Prerequisite: CP114.

CP216 Microprocessor I 0.5

A comprehensive study of computer organization and microprocessor design. A modern microprocessor such as the SUN picoJava processor, is used as an example for a complete design of a working processor, which includes microarchitecture design, microprogramming and instruction set implementation. Other commercial processors such as Intel Pentium and SUN UltraSPARC will also be studied.

Prerequisite: CP120/PC120 and CP114.

CP225 Introduction to Scientific Computation 0.5

An introduction to scientific computation, with substantial use of scientific modelling software. Problems from different disciplines and the computational tools needed to solve them are considered. Topics include: computer representation of numbers, scientific models, visualization tools, an introduction to some numerical methods. (Cross-listed as PC225.)

Prerequisite: CP104, MA103 and MA104, or permission of the department.

CP264 Data Structures II 0.5

A continuation of the study of data structures and their applications. Abstract Data Types, heaps, binary search trees, balanced search trees. Hashing, collision-avoidance strategies. Basic algorithmic analysis, big "O" and little "o" notation.

Prerequisite: CP114.

CP300º Electronics Laboratory II 0.25

(Cross-listed as PC300º.)

CP312 Algorithm Design and Analysis I 0.5

Analysis of the best, average, and worse case behaviors of algorithms. Algorithmic strategies: brute force algorithms, greedy algorithms, divide-and-conquer, branch and bound, backtracking. Fundamental computing algorithms: O(n log n) sorting, hash table, binary trees, depth- and breadth-first search of graphs.

Prerequisite: CP264.

CP316 Microprocessor II 0.5

Software Architecture of the 80x86 family, registers, address generation, 8086 Assembly Language, DEBUG, MASM, addressing modes, program structure, directives, modifiers. Computer hardware: Programmable Keyboard/Display Controller, Programmable Peripheral Interface, Programmable Communication Interface, Priority Interrupt Controller, Programmable Interval Timer.

Prerequisite: CP200º, CP216, CP300º.
3 lecture hours, 3 lab. hours

CP317 Software Engineering 0.5

Discussion of software development activities, including software process models, analysis, design, implementation, testing, project management and advanced topics. Both traditional and object-oriented methods are considered.

Prerequisite: CP264 or permission of the department.
Exclusion: CP417.

CP363 Database I 0.5

Introduction to database systems. Topics include data models, query languages, database design, recovery and concurrency, integrity and security.

Prerequisite: CP264 or permission of the department.

CP364 Technical Aspects of Data Communications 0.5

Data communications concepts, with an emphasis on the physical layer. Topics include transmission media, digital data transmission, the evolving digital telephone network and standards organizations.

Prerequisite: CP104, PC210, PC211.
3 lecture hours, 1 biweekly tutorial hour

CP372 Computer Networks **NEW** 0.5

Introduction to computer communication networks. The OSI reference model. Protocols for error and flow control. Medium access protocols. Routing and congestion control. Internet architecture and protocols. Unix network programming.

Prerequisite: CP264. Recommended background: CP364.

CP400 Special Topics 0.5

A detailed examination of a field or topic of interest not covered by the regular program.

Prerequisite: Permission of the department.
Irregular course

CP411 Computer Graphics 0.5

The principles, algorithms and techniques of computer graphics. Topics include introduction to graphics hardware, output primitives, two- and three-dimensional geometric transformations, three-dimensional object representation and viewing, illumination models and surface-rendering methods. Graphics software tools will be introduced in this course.

Prerequisite: CP264, MA122 (or permission of the department).

CP412 Algorithm Design and Analysis II **NEW** 0.5

A continuation of the study of computer algorithms. Amortized analysis, online and off-line algorithms, randomized algorithms, dynamic programming.

Prerequisite: CP312, MA238.

CP414 Foundations of Computing **NEW** 0.5

Deterministic and nondeterministic finite automata (DFAs and NFAs), regular expressions, context-free grammars, relationship of push-down automata and context-free grammars, definition of the classes P and NP, NP-completeness (Cook's theorem), standard NP-complete problems, reduction techniques, Turing machines. The halting problem.

Prerequisite: CP312, MA238.

CP460 Applied Cryptography **NEW** 0.5

Algorithms and issues in applied cryptography. Topics include history of cryptography, block ciphers, stream ciphers, public-key encryption, digital signatures and key management. Also, discussions of current issues in information security.

Prerequisite: CP264, MA121, MA122.

CP463 Simulation 0.5

Discrete and continuous simulations, queuing theory.

Prerequisite: MA240 (or equivalent) and permission of the department.

CP464 Selected Topics in Computer Hardware 0.5

Topics may include computer classes and evolution, instruction set design, hardwired sequencer design, microprogramming, memory hierarchies, concurrency, multiple-processor systems and fault-tolerant systems. Students will be required to design and build a computer, including the design of the instruction set and the control unit.

Prerequisite: CP316.

CP466 Operating Systems 0.5

Topics include operating system services, file systems, CPU scheduling, memory management, virtual memory, disk scheduling, deadlocks, concurrent processes, protection and distributed systems.

Prerequisite: CP216, CP264.

CP467 Computer Vision and Image Processing 0.5

Introduction to vision systems for image acquisition and display. Comprehensive coverage of image enhancement, segmentation, feature extraction and classification.

Prerequisite: MA240 (or equivalent), CP264.

CP468 Artificial Intelligence 0.5

Examination of current concepts and techniques in artificial intelligence and machine learning. Topics include knowledge representation, automated reasoning, machine learning and knowledge-based systems. Extensive use of case studies and current applications.

Prerequisite: CP264 or permission of the department.

CP476 Internet Computing **NEW** 0.5

The architecture of the Internet. Client-server programming, technologies of the Web (URLs, HTML, HTTP, applets, etc.) Introduction to building Web application and server-side programming.

Prerequisite: CP363, CP372.

CP493 Directed Research Project I **NEW** 0.5

An in-depth investigation of a computer science subject under faculty supervision, including the submission of a formal report.

Prerequisite: Permission of the department.

CP494 Directed Research Project II **NEW** 0.5

An in-depth investigation of a computer science subject under faculty supervision, including the submission of a formal report.

Prerequisite: Permission of the department.



Faculty of Science
Faculty of Science – Departments, Programs and Courses
Physics and Computing
Computing

[Previous] [Parent] [Next]

[Table of Contents] [Index] [Glossary]
[Courses by Subject] [Courses by Name] [Calendar Search]

Official electronic version updated on February 4, 2002

[LAURIER Home Page] [COMMENTS] M. Watson, Editor [Course Timetable] Course Timetable