Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 4<br />
COSC 4116 Language Processors<br />
Structure of compilers and interpreters. Use<br />
of regular expression, finite automata and<br />
context-free grammars. Lexical analysis.<br />
Parsing, symbol table management. Runtime<br />
organization. Semantic analysis. Storage<br />
allocation. Error recovery. Interpretation.<br />
Code generation. Students will be required<br />
to implement a processor for an actual<br />
programming language. Prerequisites: COSC<br />
2007, 3106, and 3127. (LEC 3) (3 cr)<br />
COSC 4126 Computer Assisted Instruction<br />
This course examines topics related to<br />
the design and programming of software<br />
for learning and discovery (user interface<br />
design, help facilities, instructional design)<br />
and classical models of CAI such as<br />
drills and tutorials, student modelling and<br />
intelligent tutoring systems, microworlds and<br />
simulation, and visualization. Prerequisite:<br />
COSC 3127. (LEC 3) (3 cr)<br />
COSC 4226 Discrete-Event Simulation<br />
Various types of system models are<br />
presented and the role of simulation in the<br />
design and analysis of these is examined.<br />
Simulation methodology and the verification<br />
and validation phases are discussed.<br />
Programming techniques, including the<br />
use of assimilation language, are applied<br />
to particular discrete-event situations.<br />
Prerequisites: COSC 1046, MATH 2236.<br />
(LEC 3) (3 cr)<br />
COSC 4235 Thesis in Computer Science<br />
This course consists of a project in computer<br />
science chosen in consultation with, and<br />
supervised by, a member of the department.<br />
This course is only open to students enrolled<br />
in the fourth year of the Specialized program<br />
in Computer Science. Prerequisite: An<br />
average of 70% in the COSC specialization<br />
courses upon entry to fourth year, or<br />
permission of the department. (6 cr)<br />
COSC 4307 Computer Graphics II: 3D<br />
This course begins with an introduction to<br />
the 3-D viewing transformation. Parallel<br />
and projective transformations will also be<br />
discussed. Other topics include a survey of<br />
a 3-D graphics package and a discussion<br />
of some of the algorithms for rendering 3-D<br />
objects using wire-frame and solid models<br />
with hidden line and surface removal.<br />
Prerequisite: COSC 4306. (LEC 3) (3 cr)<br />
COSC 4316 Computational Geometry<br />
Basic concepts in computational geometry<br />
and basic techniques in designing geometric<br />
algorithyms are introduced. Topics<br />
include: 2D and 3D convex hulls, polygon<br />
triangulation, Voronoi Diagrams, Delaunay<br />
triangulations, and geometric searching.<br />
Prerequisites: MATH 1057 and COSC 2007.<br />
(LEC 3) (3 cr)<br />
COSC 4336 Digital System Implementation<br />
Starting with an architectural specification<br />
of the components of a digital system,<br />
the design of alternative implementations<br />
trading equipment against time is<br />
considered. Adders, multipliers, dividers,<br />
encoders, decoders, datapath, control,<br />
storage, communication are studied.<br />
The APL2 language is used for a formal<br />
description of the architectures and their<br />
implementations that are executable<br />
and verifiable. Prerequisite: COSC 3406.<br />
(LEC 3) (3 cr)<br />
COSC 4346 Digital Circuit Testing<br />
An introduction to failure and faults in<br />
digital circuits. Other topics include: the<br />
modelling of various types of faults: single<br />
and multiple stuck-at-faults, delay faults, and<br />
bridging faults, test generation techniques<br />
for combinational and sequential circuits,<br />
fault simulation algorithyms, design for<br />
testability (DFT) and built-in-self-test (BIST).<br />
Prerequisite: COSC 3426. (LEC 3) (3 cr)<br />
COSC 4406 Microcomputer Systems<br />
A detailed study of microcomputer systems:<br />
components, organization, programming,<br />
interfacing and uses. This will be a hardwareoriented<br />
course. Prerequisites: COSC 3406,<br />
3426. (LEC 3) (3 cr)<br />
COSC 4407 Operating Systems II<br />
Advanced aspects of operating systems<br />
including concurrent programming and<br />
design principles. Prerequisite: COSC 3407.<br />
(LEC 3) (3 cr)<br />
COSC 4416 Numerical Analysis I<br />
Topics will be chosen from applied numerical<br />
algebra, eigenvalue problems, approximation<br />
theory, optimization, solution of systems of<br />
ordinary differential equations and solution<br />
of elementary partial differential equations.<br />
Prerequisites: MATH 2057, 3036, 2066, COSC<br />
3416. (LEC 3) (3 cr)<br />
COSC 4417 Computer Architecture<br />
Design concepts applicable to large<br />
computer systems. Basic R.A.L.U structures<br />
(register, arithmetic, logic unit), data paths,<br />
memory hierarchy components, microcoding,<br />
interfacing standards. Input, output<br />
devices. Examples of large processors.<br />
Special processors. Forecasting future<br />
devices. Prerequisites: COSC 3406, 3407.<br />
(LEC 3) (3 cr)<br />
COSC 4426 Topics in Computer Science I<br />
A course in Computer Science involving the<br />
treatment of a selection of advanced topics.<br />
Prerequisite: Completion of second year core<br />
program in Computer Science. (LEC 3) (3 cr)<br />
COSC 4427 Topics in Computer Science II<br />
A course in Computer Science involving the<br />
treatment of a selection of advanced topics.<br />
Prerequisite: completion of second year core<br />
program in Computer Science. (LEC 3) (3 cr)<br />
COSC 4436 Computer Networks<br />
This course is based on the seven-layered<br />
ISO Open Systems Interconnection model<br />
for computer networks. Both hardware<br />
and software topics will be considered.<br />
Typical applications including mail networks,<br />
electronic offices and distributed file<br />
systems will be studied. Standard transport<br />
technologies based on point-to-point<br />
links and on broadcast principles will<br />
be covered. Prerequisite: COSC 3406.<br />
Corequisite: COSC 3407. (LEC 3) (3 cr)<br />
COSC 4437 Distributed Systems<br />
Covers the design and organization of<br />
distributed systems. Topics include:<br />
distributed objects and remote invocation,<br />
security, distributed file systems, name<br />
services, distributed transactions,<br />
replication, distributed multimedia systems<br />
and distributed shared memory. Prerequisite:<br />
COSC 3407. (LEC 3) (3 cr)<br />
COSC 4456 Parallel Computing<br />
Topics include: Data parallelism,<br />
multi-processor architecture, process<br />
communication, data sharing, synchronous<br />
parallelism and multi-computer architecture.<br />
Prerequisites: COSC 3406 (COSC 3407 is also<br />
recommended). (LEC 3) (3 cr)<br />
4-COMPUTER SCIENCE<br />
www.algomau.ca<br />
ALGOMA UNIVERSITY<br />
81