THIS SITE

Information for

CS 642 Principles of Programming Languages (0.50) LEC, Course ID: 000599

An exposure to important concepts and issues in contemporary programming languages. Data types, abstraction, and polymorphism. Program structure. Lambda calculus and functional programming, logic programming, object-oriented programming. Semantics of programming languages. Critical comparison of language features and programming methodologies using examples drawn from a variety of programming languages including Lisp, Prolog, ML, Ada, Smalltalk, Icon, APL, and Lucid. Programming assignments involve the use of some of these languages. [Note: Offered: W]

CS 644 Compiler Construction (0.50) LEC, Course ID: 000601

Phases of compilation. Lexical analysis and a review of parsing. Compiler-compilers and translator writing systems. LEX and YACC. Scope rules, block structure, and symbol tables. Runtime stack management. Parameter passage mechanisms. Stack storage organization and templates. Heap storage management. Intermediate code. Code generation. Macros. [Note: Offered: W]

CS 645 Software Requirements Specification and Analysis (0.50) DIS,LEC,TUT, Course ID: 000602

Introduces students to the requirements definition phase of software development: Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications. [Note: Offered: F,W]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 646 Software Design and Architectures (0.50) DIS,LEC,TUT, Course ID: 000603

Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities. [Note: offered: F,S]

CS 647 Software Testing, Quality Assurance and Maintenance (0.50) DIS,LEC,TUT, Course ID: 000604

Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues. [Note: Offered: W]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 648 Introduction to Database Management (0.50) LEC, Course ID: 000605

The objective of this course is to introduce students to fundamentals of building a relational database management system. The course focuses on the database engine core technology by studying topics such as storage management (data layout, disk-based data structures), indexing, query processing algorithms, query optimization, transactional concurrency control, logging and recovery. Preference will be given to CS graduate students. All other require permission from the school.[Note: Offered: F,W,S]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 650 Computer Architecture (0.50) LEC, Course ID: 000606

The course is intended to provide the student with an appreciation of modern computer design and its relation to system architecture, compiler technology and operating system functionality. The course places an emphasis on design based on the measurement of performance and its dependency on parallelism, efficiency, latency and resource utilization. [Note: Offered: W]

CS 652 Real-Time Programming (0.50) LEC, Course ID: 000607

Intended to give students experience with tools and techniques of real-time programming, this course includes not only issues of microcomputer architecture and a real-time programming language and operating system, but also hands-on experience programming a microcomputer for applications such as process control, data acquisition and communication. Preference will be given to CS graduate students. All others require approval from the department. [Note: Offered: F,S]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 654 Distributed Systems (0.50LEC, Course ID: 000608

An introduction to distributed systems, emphasizing the multiple levels of software in such systems. Specific topics include fundamentals of data communications, network architecture and protocols, local-area networks, concurrency control in distributed systems, recovery in distributed systems, and clock synchronization. Preference will be given to CS graduate students. All others require approval from the department. [Note: Offered: F,W,S]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 656 Computer Networks (0.50LEC, Course ID: 000609

An introduction to network architectures and protocols, placing emphasis on protocols used in the Internet. Specific topics include application layer protocols, network programming, transport protocols, routing, multicast, data link layer issues, multimedia networking, network security, and network management. [Note: Offered: W]

CS 657 System Performance Evaluation (0.50) LEC, Course ID: 000610

Basic techniques of system performance evaluation. Specific topics include: performance modeling, discrete event simulation, verification and validation of simulation models, analysis of simulation output, analysis of single server queue and queueing networks, modeling of computer systems, networks, and other queueing or non-queueing systems. [Note: Offered: W]

CS 658 Computer Security and Privacy (0.50) LEC, Course ID:

Security and privacy issues in various aspects of computing. Specific topics include: comparing security and privacy, program security, writing secure programs, controls against program threats, operating system security, formal security models, network security, Internet application security and privacy, privacy-enhancing technologies, database security and privacy, inference, data mining, security policies, physical security, economics of security, and legal and ethical issues. [Note: Offered: F, W]

Prerequisite: ECE 354 or CS 350

CS 662 Formal Languages and Parsing (0.50) LEC, Course ID: 000612

Languages and their representations. Grammars-Chomsky hierarchy. Regular sets and sequential machines. Context-free grammars-normal forms, basic properties. Pushdown automata and transducers. Operations on languages. Undecidable problems in language theory. Applications to the design of programming languages and compiler construction. [Note: Offered: F]

CS 664 Computational Complexity Theory (0.50) LEC, Course ID: 000613

The classification of problems according to the computational resources required for their solution, with emphasis on properties of feasible computations rather than on specific algorithms. Topics include: time and space complexity, tractable and intractable problems, computation using randomness, parallel computation.

CS 666 Algorithm Design and Analysis (0.50) LEC, Course ID: 000614

Design of good algorithms and analysis of the resources they consume. Lower bounds on the resource requirements of algorithms to compute certain functions. Problems from the following areas are discussed in this light: sorting and order statistics, data structures, arithmetic computations, the NP-complete problems. [Note: Offered: F,S]

CS 672 Numerical Solution of Large Sparse Systems of Equations (0.50) LEC, Course ID: 000617

Introduction, example applications from finite element analysis, optimization. Data structures, basic graph theory. Direct methods: symmetric structures, non-symmetric structures, ordering methods; RCM, minimum degree, nested dissection. Iterative methods: steepest descent, conjugate gradient, GMRES, CGSTAB. Preconditioning methods; level of fill, drop tolerance. Methods for high performance architectures. [Note: Offered: W]

CS 673 Medical Image Processing (0.50) LEC, Course ID: 011588

An introduction to computational problems in medical imaging. Sources of medical images (MRI, CT, ultrasound, PET) as well as reconstruction methods for MRI and CT. Image manipulation and enhancement such as denoising and deblurring. Patient motion correction and optimal image alignment. Tissue classification and organ delineation using image topology. (Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. [Note: Offered W]

Prerequisite: MATH 235 and CS 370 or CS 371
Antirequisite: CS 473, CM 473

CS 676 Numeric Computation for Financial Modelling (0.50) LEC, Course ID: 000620

The interaction of financial models, numerical methods, and computing environments. Basic computational aspects of option pricing and hedging. Numerical methods for stochastic differential equations, strong an weak convergence. Generating correlated random numbers. Time-stepping methods. Finite difference methods for Black-Scholes equation. Discretization, stability, convergence. Methods for portfolio optimization, effect of data errors on portfolio weights.[Note: Offered: F]

Prerequisite: AMATH 341 or CM271 or CS 370 or CS 371 and STAT 231 or STAT 241

CS 682 Computational Techniques in Biological Sequence Analysis (0.50) LEC, Course ID: 011302

Computer science principles and algorithms in biological sequence analysis. Topics include algorithms for sequence comparison, for large-scale database search in biological databases, for sequence assembly, for evolutionary tree reconstruction, for identifying important features in DNA and RNA sequences, and underlying computational techniques for understanding strings and trees and for making probabilistic inferences. [Note: Offered: F]

CS 683 Computational Techniques in Structural Bioinformatics (0.50) LEC, Course ID: 011303

Algorithms and techniques used in the identification and functional characterization of cellular proteins. Topics include: protein databases, gene expression analysis, protein structure prediction, protein function prediction, active site detection and ligand docking, protein-protein interaction, HTCS (High Throughput Conformational Search), and QSAR (Quantitative Structure-Activity Relationships). [Note: Offered: W]

CS 685 Machine Learning: Statistical and Computational Foundations (0.50) LEC, Course ID: 000624

Extracting meaningful patterns from random samples of large data sets. Statistical analysis of the resulting problems. Common algorithm paradigms for such tasks. Central concepts: VC-dimension, Margins of classifier, Sparsity and description length. Performance guarantees: Generalization bounds, data dependent error bounds and computational complexity of learning algorithms. Common paradigms: Neural networks, Kernel methods and Support Vector machines, Applications to Data Mining.

CS 686 Introduction to Artificial Intelligence (0.50) LEC, Course ID: 000625

Goals and methods of artificial intelligence. Methods of general problem solving. Introduction to mathematical logic Mechanical theorem proving. Game playing. Natural language processing. Preference will be given to CS graduate students. All others require approvalfrom the department. Department approval will be by Undergraduate Advisor. [Note: Offered: F,W,S]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 687 Introduction to Symbolic Computation (0.50) LEC, Course ID: 000626

An introduction to the use of computers for symbolic mathematical computation, involving traditional mathematical computations such as solving linear equations (exactly), analytic differentiation and integration of functions, and analytic solution of differential equations. [Note: Offered: W]

(Cross-listed with CM 730)

CS 688 Introduction to Computer Graphics (0.50) LEC, Course ID: 000627

Software and hardware for interactive computer graphics. Implementation of device drivers, 3-D transformations, clipping, perspective, and input routines. Data structures, hidden surface removal, colour shading techniques, and some additional topics will be covered. Preference will be given to CS graduate students. All others require approval from the department. [Note: Offered: F,W,S]

Prerequisite: CS graduate level plans - All others require permission of department.

CS 690A Literature and Research Studies (0.50) RDG, Course ID: 000630

This is an individual study course carried out under the supervision of a Computer Science faculty member. The topic should be agreed upon by both the student and the instructor. This is a credit/no credit course. Department permission will be by Coordinator of Graduate Studies.

Department consent required

CS 690B Literature and Research Studies (0.50) RDG, Course ID: 000631

This is an individual study course carried out under the supervision of a Computer Science faculty member. The topic should be agreed upon by both the student and the instructor. This is a grade course. Department permission will be by Coordinator of Graduate Studies.

Department consent required

CS 692 The Social Implications of Computing (0.50) LEC, Course ID: 000632

This course is designed to consider the problems encountered by individuals, organizations and society as computer technology is adopted, with a view towards assessing possible courses of action. [Note: Offered: W]

CS 697 Graduate Research Skills Seminar (0.00) SEM, Course ID: 009076

Research and life skills that can help graduate students improve their academic and interpersonal competence-research methodologies, library research skills, creative and critical thinking, time management, stress management, technical reading skills, listening skills, oral communication, writing and publishing in computer science, jobs in academica versus industry.

CS 698 Introductory Research Topics (0.50) LEC, Course ID: 010461

This number is used for courses being offered on a temporary basis. Such a course may be available only once, for example to take advantage of a visiting professor's expertise, or may be offered experimentally until it is determined whether of not the course should become part of the regular course offerings. It may also be used for an individual study course carried out under the supervision of a Computer Science faculty member with the approval from the Associate Chair, Graduate Studies. This is a grade course. Preference will be given to CS graduate students. All others require approval of the Department.

Prerequisite: CS graduate level plans - All others require permission of department.