Undergraduate Course Descriptions


Computing

Department of Physics and Computing

(See faculty listing under Physics.)

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 0.5

Introduction to analysis of algorithms, data structures, recursion, searching, sorting and software engineering.

Prerequisite: CP104 or permission of the Department.
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.

CP216 Microprocessor I 0.5

A comprehensive study of a commercial microprocessor such as the Motorola 68000, its architecture and assembly language.

Prerequisite: 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, MA101 and MA102, or permission of the Department.

CP264 Advanced Data Structures 0.5

A continuation of the study of data structures and their applications. Projects and discussions involving queues, stacks, lists, trees and graphs are taken from areas such as text processing, compilers and operating systems.

Prerequisite: CP114.

CP300º Electronics Laboratory II 0.25

(Cross-listed as PC300º.)

CP312 Algorithm Design and Applications 0.5

Design and implementation of advanced computer algorithms, including: complexity of algorithms, software design issues, study of various classes of algorithms including randomized algorithms. Applications from artificial intelligence, networks, and other areas of computer science are presented.

Prerequisite: CP264 or permission of the Department.

CP316 Microprocessor II 0.5

Interfacing the microprocessor with external devices for real-time control hardware and software. Priority interrupt structure and servicing. Practical applications.

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

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

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 will include computer classes and evolution, instruction set design, hardwired sequencer design, microprogramming, memory hierarchies, concurrency, multiple-processor systems, fault-tolerant systems and language based machines. Students will be required to design and build a computer, including the design of the instruction set and the control unit. Extensive use of case studies.

Prerequisite: CP316 and permission of the Department.

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: CP264 and permission of the Department.

CP467 Machine Vision 0.5

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

Prerequisite: CP264, MA240 (or equivalent) and permission of the Department.

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.



Undergraduate Course Descriptions
Courses

[Previous] [Parent] [Next]

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

Official electronic version updated on November 17, 2000

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

[Course Timetable]