[Calendar Home Page] Wilfrid Laurier University - 2004-2005 Undergraduate Academic Calendar

Faculty of Science


Computer Science 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 Computer Science or Physics; Comp Sc 100 (U of Waterloo).
3 lecture hours, 2 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 or Grade 12 U mathematics or science course.) (This course may be "challenged for credit".)

3 lecture hours, 2.5 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, 2.5 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 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.
3 lecture hours, 1 lab hour

CP216 Microprocessor I 0.5

A comprehensive study of a current commercial microprocessor, its architecture and assembly language. Emphasis on (1) the relationship between architecture, assembly language and system operation, and (2) the relationship between assembly language, high level languages and operating systems.

Prerequisite: CP120/PC120 and CP114.
3 lecture hours, 1 lab hour

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.
3 lecture hours, 1 lab hour

CP300º Electronics Laboratory II 0.25

(Cross-listed as PC300º.)

CP312 Algorithm Design and Analysis I 0.5

Analysis of the best, average and worst 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 (MA238 recommended).

CP315 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 PC315.)

Prerequisite: CP104, MA103 (or MA110*), MA104, MA122, MA205.
Exclusion: CP/PC225.

CP316 Microprocessor Systems and Interfacing 0.5

Interfacing a microprocessor or microcontroller with external devices for real-time hardware control. Microcontroller hardware and software in real time applications; serial and parallel IO; timing generation; priority interrupt structures and servicing; bus timing. Interpretation and use of industry documentation and data sheets.

Prerequisite: CP216, CP300º/PC300º.
3 lecture hours, 2.5 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.
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.

CP364 Data Communication and Networks F 0.5

(Cross-listed as PC364.)

CP372 Computer Networks 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 and Unix network programming.

Prerequisite: CP264.

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.

CP412 Algorithm Design and Analysis II 0.5

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

Prerequisite: CP312, MA238.

CP414 Foundations of Computing 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 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.

CP461 Introduction to Computational Molecular Biology 0.5

Introduction to the basic computational problems arising in molecular biology. Emphasis is on the development of efficient algorithms. Topics include sequence comparison, fragment assembly of DNA, physics and genetic mapping of DNA, genome rearrangements, molecular structure prediction. No background in biology is required.

Prerequisite: CP264.
Exclusion: CP400g.

CP463 Simulation 0.5

Discrete and continuous simulations, queuing theory.

Prerequisite: MA240 (or equivalent), CP264.

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, PC319.

CP465 Database II 0.5

This course covers advanced database management system design principles and techniques. Possible topics include access methods, query processing and optimization, transaction processing, distributed databases, deductive databases, object-oriented and object-relational databases, data warehousing, data mining, Web and semi-structured data, search engines, etc.

Prerequisite: CP363.
Exclusion: CP400h.

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, (MA255 recommended).

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.

CP476 Internet Computing 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 0.5

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

Prerequisite: Registration status: Year 4 Honours Computing and Computer Electronics, or Computer Science, and permission of the department.
Irregular course

CP494 Directed Research Project II 0.5

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

Prerequisite: CP493 and permission of the department.
Irregular course



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

[Previous] [Parent] [Next]

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

Official electronic version updated at 10:33 a.m. March 31, 2005

LAURIER Home COMMENTS M Watson, Editor Course Timetable Class Timetable Registrar's Site]