|
COSC 4086 E Fourth-year Project |
|
This course involves production of a written report on an approved topic or research in the field of computer science, together with a short lecture on the report. To register in this course, students must be in the 4-year B.Cosc. program and have permission from a supervisor. Prerequisites: COSC 3106, 3127, 3406 & 3407 and an average of at least 70% in COSC specialization courses. Students cannot retain credit for both COSC 4086 & COSC 4235. (cr 3) |
|
COSC 4106 E Analysis of Algorithms
|
|
Design of efficient algorithms. Space and time complexity. Bounds on the performance of algorithms. Problems from such areas as sorting, data structures and arithmetic computations will be discussed. NP completeness. Prerequisites: COSC 2007, 3106. (lec 3) cr 3 |
|
COSC 4107 E Program Verification
|
|
Methods of program verification. Implications for structured programming. Inductive reasoning about recursive programs and recursively defined data structures. Prerequisites: COSC/MATH 2056, COSC 2007. (lec 3) cr 3 |
|
COSC 4116 E Compiler Construction
|
|
Structure of compilers and interpreters. Use of regular expressions, finite automata and context-free grammars. Lexical analysis. Parsing, symbol table management. Runtime organization. Semantic analysis. Storage allocation. Error recovery. Interpretation. Code generation. Students will be required to implement a processor for an actual programming language. Prerequisites: COSC 2007, 3106, 3127. (lec 3) cr 3 |
|
COSC 4117 E Artificial Intelligence
|
|
This course examines the goals and methods of artificial intelligence. The goals are to understand intelligence and to create intelligent software. The methods investigated include logic, search, knowledge representation systems, neural networks, machine learning and artificial life. Some applications such as expert systems, vision or game playing will be demonstrated. Prerequisites: COSC 2007, 3106. (lec 3) cr 3 |
|
COSC 4126 E Computer Assisted Instruction
|
|
This course examines topics related to the design and programming of software for learning and discovery (user interface design, help facilities, instructional design) and classical models of CAI such as drills and tutorials, student modelling and intelligent tutoring systems, microworlds and simulation, and visualization. Prerequisite: COSC 3127. (lec 3) cr 3 |
|
COSC 4226 E Discrete-Event Simulation
|
|
Various types of system models are presented and the role of simulation in the design and analysis of these is examined. Simulation methodology and the verification and validation phases are discussed. Programming techniques, including the use of a simulation language, are applied to particular discrete-event situations. Prerequisites: COSC 1046, STAT 2246. This course is cross-listed as MATH 4226. . Students may not receive credits for both COSC 4426 and MATH 4426. (lec 3) cr 3 |
|
COSC 4235 E Thesis in Computer Science
|
|
A thesis in computer science must be chosen in consultation with, and supervised by, a faculty member of the department. This course is available only to students enrolled in the 4th year of the B.Cosc. program. Prerequisites: min. 70% average in COSC specialization courses. Students cannot retain credit for both COSC 4086 & COSC 4235. (cr 6) |
|
COSC 4306 E Computer Graphics I
|
|
This course begins with a study of two-dimensional graphic systems and a survey of related graphics software. Topics include some low-level raster algorithms, construction of a 2-D graphics package including windows, viewports, affine transformations and clipping algorithms. Topics such as Bezier and B spline curves and fractal constructions will be discussed. Prerequisites: COSC 2007 and MATH 1037, 1057. (lec 3) cr 3 |
|
COSC 4307 E Computer Graphics II
|
|
This course begins with an introduction to the 3-D viewing transformation. Parallel and projective transformations will also be discussed. Other topics include a survey of a 3-D graphics package and a discussion os some of the algorithms for rendering 3-D objects using wire-frame and solid models with hidden line and surface removal. Prerequisite: COSC 4306. (lec 3) cr 3. |
|
COSC 4316 E Computational Geometry
|
|
Basic concepts in computational geometry and basic techniques in designing geometric algorithms will be introduced. The following topics will be covered: 2D and 3D convex hulls, polygon triangulation, Voronoi Diagrams, Delaunay triangulations and geometric searching. Prerequisite: MATH 1057 and COSC 2007. (lec 3) cr 3. |
|
COSC 4336 E Digital System Implementation
|
|
Starting with an architectural specification of the components of a digital system, the design of implementations trading equipment against time is considered. Adders, multipliers, dividers, encoders, decoders, datapath, control, storage, communication are studied. The APL2 language will be used for a formal description of the architectures and their implementations that are executable and verifiable. Prerequisite: COSC 3406. (lec 3) cr 3. |
|
COSC 4346 E Digital Circuit Testing
|
|
This course begins with an introduction to failures and faults in digital circuits. This is followed by the modelling of various types of faults: single and multiple stuck-at-faults, delay faults and bridging faults. Other topics presented include test generation techniques for combinational and sequential circuits, fault simulation algorithms, design for testability (DFT) and built-in- self-test (BIST). Prerequisite: COSC 3426. (lec 3) cr3 |
|
COSC 4406 E Microcomputer Systems
|
|
A detailed study of microcomputer systems: components, organization, programming, interfacing and uses. This will be a hardware oriented course. Prerequisites: COSC 3406 and 3426. (lec 3) cr 3 |
|
COSC 4407 E Operating Systems II
|
|
Advanced aspects of operating systems including concurrent programming and design principles. Prerequisite: COSC 3407. (lec 3) cr 3 |
|
COSC 4416 E Numerical Analysis I
|
|
Topics will be chosen from applied numerical algebra, eigenvalue problems, approximation theory, optimization, solution of systems of ordinary differential equations and solution of elementary partial differential equations. Prerequisites: MATH 2057, 3036, MATH/COSC 3416. This course is cross-listed as MATH 4416 E (lec 3) cr 3 |
|
COSC 4417 E Computer Architecture
|
|
Design concepts applicable to large computer systems. Basic R.A.L.U. structures (register, arithmetic, logic unit), data paths, memory hierarchy components, microcoding, interfacing standards. Input, output devices. Examples of large processors. Special processors. Forecasting future devices. Prerequisites: COSC 3406/7. (lec 3) cr 3 |
|
COSC 4426 E Topics in Computer Science I
|
|
This course involves the treatment of a selection of advanced topics. Prerequisites: Completion of 2nd-year core program in Computer Science and possibly other courses specified by the instructor. (lec 3) cr 3 |
|
COSC 4427 E Topics in Computer Science II
|
|
This course involves the treatment of a selection of advanced topics. Prerequisites: Completion of 2nd-year core program in Computer Science and possibly other courses specified by the instructor. (lec 3) cr 3 |
|
COSC 4436 E Computer Networks
|
|
This course covers the design and organization of computer networks. Topics studied include network protocols based on the TCP/IP model, internet and intranet networks with a focus on performance issues, distance vector and link state (RIP) routing, IP fragmentation and reassembly and network applications. Prerequisite: COSC 3406, MATH 1036. Corequisite: COSC 3407. (lec 3) cr 3 |
|
COSC 4437 E Distributed Systems
|
|
This course covers the design and organization of distributed systems. Topics studied include distributed objects and remote invocation, security, distributed file systems, name services, distributed transactions, replication, distributed multimedia systems and distributed shared memory. Prerequisite: COSC 3407. (lec 3) cr 3 |
|
COSC 4456 E Parallel Computing
|
|
Some of the topics discussed are data parallelism, multi-processor architecture, process communication, data sharing, synchronous parallelism and multi-computer architecture. Prerequisite: COSC 3406; COSC 3407 is recommended. (lec 3) cr 3 |
|
COSC 4506 E Software Engineering
|
|
Methodologies for design, implementation and maintenance of very large programs. Use and development of software. Support systems. Prerequisite: Completion of second-year core program in Computer Science, or permission of the department. (lec 3) cr 3 |
|
COSC 4516 E Symbolic Computation
|
|
This course provides an introduction to the use of computers for symbolic (i.e. exact) mathematical computation. This involves traditional calculations such as analytic differentiation and integration of functions, and solving systems of equations. Topics will include algorithms for fast integer and polynomial arithmetic, homomorphism methods, computation of polynomial greatest common divisors and factorization. Prerequisites: COSC 1046 and MATH 3056. (lec 3) cr 3 (also cross listed as MATH 4516) |
|
COSC 4606 E Database Management Systems (DBMS)
|
|
DBMS concepts and architecture, ER Model, Relational Databases, Relational Algebra, Query Languages (SQL), Database Design: Normalization and Functional Dependencies, Transaction Processing, Concurrency Control and Recovery, Emerging Trends in Database Technology - Web Data management, XML, Web Mining, and Data Warehousing. Prerequisite: COSC 2007 and 3707. (lec 3) cr 3 |
|
COSC 4706 E Directed Studies II
|
|
This course consists of a detailed study of a topic in Computer Science under the direction of a faculty member. The material will normally be consistent with a fourth year Computer Science course not formally listed in the Department's current offerings. The course will involve some combination of assignments, mid-terms, a final exam, a seminar, and a formal report. Prerequisite: Permission of the department and of the prospective faculty member. cr 3
|
|
COSC 4806 E - Web Data Management |
|
This course provides an introduction to the design and implementation of web interfaces to database systems. Web data models, web query languages, change management systems, and web site management will be discussed. Prerequisite: COSC 2307 and COSC 2206. (lec 3) cr 3
|
|
COSC 4906 E - Expert Systems |
|
An introduction to expert systems with an emphas is on decision support systems and their application in a business environment. Prerequisite: COSC 2007 and COMM 3057. (lec 3) cr 3
|
|
COSC 4926 E - Human Computer Interaction |
|
Human-computer interaction is a multi-disciplinary field concerned with the design, evaluation and implementation of interactive computing systems for human use. The inter-relationships among the various disciplines that participate in HCI are studied, with particular emphasis on computer science issues. Coverage includes techniques for user interface design, interaction paradigms, and current trends in HCI research and development. Prerequisite: completion of 2nd year core program in Computer Science, or completion of 3rd year core program in E-Business Science, or department's permission. (lec 3) cr3. |