|
|
|
The student will creatively apply the material learned in core courses to a significant problem.
|
|
|
|
Lab: 3 hrs.
|
| Prequisites: CPS 600 and MTH 304
|
|
Departmental consent required
|
|
Course Weight: 2.00
|
| back to top | |
|
|
CPS
|
90A/B
|
|
Introduction to Computers and Computing-A/B
|
|
|
This course introduces the student to the use of two areas of the computing environment. The first area will be an introduction to microcomputer applications using Microsoft Office 2000. Topics covered will include word processing, spreadsheets and graphics. The second area will be an introduction to programming using a high-level structured language. Topics covered include basic numeric manipulation techniques, flow of control, subprogramming, arrays and records.
|
|
|
|
Lect: 2 hrs./Lab: 1 hr.
|
|
|
|
|
|
Course Weight: 2.00
|
| back to top | |
|
|
CPS
|
109
|
|
Computer Science I
|
|
|
An introductory programming course designed to introduce fundamental Computer Science concepts such as abstraction, modelling and algorithm design. Emphasis is placed on producing correct software. This course uses Java as its programming language.
|
|
|
|
Lect: 3 hrs./Lab: 2 hrs.
|
|
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
118
|
|
Introductory Programming for Scientists
|
|
|
The C programming language is used to develop good programming techniques. Topics covered include: C program form, language statements, algorithmic representation, numeric data types, flow of control with selection and repetition, standard C libraries, functions and call modes, arrays, pointers, sorting, matrix operations, character and string data types, dynamic storage, structures and linked lists, file I/O.
|
|
|
|
Lect: 4 hrs./Lab: 1 hr.
|
|
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
125
|
|
Digital Computation and Programming
|
|
|
The C programming language is used to develop good programming techniques. Topics covered include: C program form, language statements, pseudo-code algorithmic representation, numeric data types, flow of control with selection and repetition, standard C libraries, functions and call modes, arrays, pointers, sorting, matrix operations, character and string data types, dynamic storage, structures and linked lists, file I/O. Only regular first year students from the Faculty of Engineering and Applied Science may preregister for this course.
|
|
|
|
Lect: 3 hrs./Lab: 2 hrs.
|
|
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
209
|
|
Computer Science II
|
|
|
A continuation of CPS 109. Emphasis is placed on code optimization, algorithm and program correctness. Fundamental Computer Science Algorithms will be introduced.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 109
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
213
|
|
Computer Organization I
|
|
|
This course introduces the students to the principles and fundamentals of digital system design. Topics covered include: Binary numbers, base conversions, signed numbers, Boolean algebra, logic gates, K-map method, combinational circuits, decoders/encoders, multiplexers, sequential circuits, flip-flops, state diagram, registers, counters and addressing techniques.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
|
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
Introduction to data structures and algorithms. Topics may include ADTs, restricted lists (stacks and queries), generalized lists, trees, searching, sorting, hashing, graphs, algorithm design, complexity analysis, recursion.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 209 and CPS 393
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
310
|
|
Computer Organization II
|
|
|
A continuation of CPS 213. Memory; CPU architecture and instruction set; the instruction processing sequence; generic assembler level programming illustrated for specific CPUs; I/O essentials including interrupts and DMA; characteristics of major peripherals interfaces; RISC and CISC architectures compared; parallel processing. The laboratory requires using a specific assembler/editor for the creation of programs illustrating some of the principles discussed in lectures.
|
|
|
|
Lect: 3 hrs./Lab: 2 hrs.
|
| Prerequisite: CPS 213 or CPS 211
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
311
|
|
Object Oriented Programming and Design
|
|
|
This course further explores the Object- Oriented paradigm emphasizing the Object Model and relationships between the various artifacts. The Unified Modeling Language to capture these relationships is studied in depth throughout the course. The pure Smalltalk language is briefly introduced to reinforce the OO paradigm. A major analysis and initial design project is done in teams using the UML to set the parameters for the problem space; this is used as a basis for the implementation-focused project in the follow-up CPS 405 course. An essentially complete coverage of C++ is presented for use in the project. Design patterns are introduced and, time permitting, Object Brokers are also introduced.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 209 and CPS 393
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
313
|
|
Advanced Programming for Scientists
|
|
|
Introduction to Object-Oriented Paradigm and Programming. Graphical User Interfaces. Event driven Paradigm and Programming. Java programming language and Java applets.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 118
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
314
|
|
Graphical Modeling
|
|
|
Use of computer graphics for scientists. Software and hardware specifications. Psychological and physiological considerations. Mathematical manipulation of 2-D and 3-D graphical objects, representation of 3-D shapes, lines and curves. Digital imagery manipulation, bitmap-based and vector-based graphics. Graphic realism using ray-tracing and fractal geometry techniques. Introduction to virtual reality. Software applications will include a professional digital imagery package and 3-D image modelers.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 313
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
315
|
|
Database Applications for Scientists
|
|
|
Implementation of database information systems. Topics include database concepts, data modeling, relational model, normal forms (up to 3NF), relational algebra, data entry, table relationships, form design, queries, SQL / QBE programming and report generation. Use of a relational database management system.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 118
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
393
|
|
Introduction to C and UNIX
|
|
|
The course covers various aspects of the C language such as: Arrays, strings, pointers, structures, etc. The second part of the course introduces UNIX operating systems. Topics include: I/O, redirection, processes, shell scripts, etc.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 109 or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
406
|
|
Introduction to Software Engineering
|
|
|
Data Structures topics not covered in CPS 305, including data structures on external devices. Basics of software engineering, including a large, team based development project.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 305 and CPS 311
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
411
|
|
Data Structures for Scientists
|
|
|
Introduction to data structures and algorithms. Topics include ADTs, restricted lists (stacks and queries), generalized lists, trees, searching, sorting, hashing, graphs, algorithm design, introductory complexity analysis, recursion.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 118
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
Introduction to analysis, management, and visualization of cellular information at the molecular level. The course includes an overview of mathematical modeling and simulation, pattern matching, methods for phylogenetics, gene recognition, distributed and parallel biological computing, designing and managing biological databases (both relational and object-oriented), linking disparate databases and data, data mining, reasoning by analogy, hypothesis formation and testing by machine.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 118, BLG 143, and BLG 144
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
506
|
|
Comparative Programming Languages
|
|
|
A survey of major programming paradigms. Discussion of data typing, program decomposition, scoping rules, control structures parameter passing. In addition, several small but useful languages are introduced, such as Python, Ruby and ML.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 209
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
An introduction to the fundamentals of automatic control systems as applied to computer controlled process operations. Feedback and feedforward concepts, transfer functions, and system response. Frequency response analysis and design with computer simulation. State Space methods for multivariable systems, controllability, observability, Optimal control and Stability.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 393 and MTH 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
510
|
|
Database Systems I
|
|
|
Advanced file management techniques involving fundamentals of database organization, design and management. Emphasis is given to Relational Database Management Systems including relational algebra, normal Forms, physical Database Structures and their implementation, and Relational Database Languages. Other types of Database Managers are also discussed such as Hierarchical, Network and Inverted Files.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 305
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
511
|
|
Computer Graphics
|
|
|
Software and hardware considerations in computer graphics. Mathematical manipulation of graphical objects; interactive graphics and the user interface; representation of 3-D shapes; fundamental implementation of algorithms.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 305
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
520
|
|
Computer Assisted Instruction/Learning
|
|
|
An introductory course in the design and development of CAL and ICAL material using PILOT and multimedia. An overview of CAL and ICAL Principles of structured learning. Structures of CAL units. Theories of learning and instructional strategies. Multimedia designs. Artificial Intelligence in CAL. Intelligent tutoring systems. Expert-based systems.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 393
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
530
|
|
Component-Based Programming for the Web
|
|
|
The goal of the course is to enable students to program Java objects and components on the Web. Part 1 of the course covers event-driven programming. The Java event model and threads are discussed. Part 2 moved from objects to components using Java Beans. Part 3 covers lower-level network facilities of Java including sockets and the Java Remote Method Invocation facility for distributed objects and components. CORBA is also discussed.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 311
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
590
|
|
Introduction to Operating Systems
|
|
|
Topics discussed: synchronous and asynchronous traps, process communication, pipes, mailboxes, process synchronization, signals and memory management.
|
|
|
|
Lect: 2 hrs./Lab: 2 hrs.
|
| Prerequisites: (CPS 211 or CPS 213) and CPS 393 or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
600
|
|
Assembly Language Programming
|
|
|
A course in assembly language programming, building on the experience in hardware gained in CPS 211. The emphasis will be on features common to assembly languages, such as macro processing, and linking assembly code with high level language code. The context will be the appropriate use of assembly language to optimize high level language programs and perform low level operations not easily done with a high level language.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 211
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
606
|
|
Advanced Computer Organization
|
|
|
An advanced overview of computer architecture and organization. A study of the relationship between software and hardware and how this affects the design of architectural features: instruction execution, processor internals (including pipelining, parallelism and microcode). Instruction sets, memory and caches, busses, auxiliary storage (disk) controllers and vector processors.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
607
|
|
Autonomous Mobile Robotics
|
|
|
An introductory course in the design and implementation of autonomous vehicles. Topics will include the nature of autonomy and autonomous behaviour. Issues involving sensing and actuation will be discussed. Students will be introduced to the constraints and issues involved in building systems designed to interact with an environment independently. Students will be expected to construct working robots.
|
|
|
|
Lect: 2 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
610
|
|
Database Systems II
|
|
|
Transformations of Relational to Network and Hierarchical Models and vice versa. Embedded DB languages, Concurrency Control, Recovery Procedures, Security and Integrity of DBS. Transaction Processing. Database Machines, Front-end Subsystems, Admin. Facilities. Distributed Databases: Concurrency Control through Locking, and Recovery. Also, discussed: The Nested Relational Model, The Semantic DB Model, The O-O DB Model and the Logic Based/Expert DB Systems.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 510
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
613
|
|
Human-Computer Interaction and GUI Development
|
|
|
This course introduces the concepts of human-computer interaction and usability testing. Topics include: human information processing, usability principles, models of interaction, user interface paradigms, design of user interfaces. Students will also learn how to develop Graphical User Interfaces using a specific User Interface Management system.
|
|
|
|
Lect: 2 hrs./Lab: 2 hrs.
|
| Prerequisite: CPS 393 or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
615
|
|
Theory of Parsing
|
|
|
This course introduces students to scanning and parsing and the theory of computation that supports these activities. Topics include: regular expressions and languages, finite state automata, scanning, context-free languages, pushdown automata, parsing, Turing machines, computability, and NP-completeness.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: MTH 210 and CPS 305
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
616
|
|
Advanced Algorithms
|
|
|
This covers advanced methods of algorithmic design and analysis; data structures; amortization; persistence; composite data structures; dynamic trees; linear programming; network optimization; randomization; other selected topics.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: MTH 210 and CPS 406
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
621
|
|
Introduction to Multimedia Systems
|
|
|
Multimedia data is becoming increasingly important in many scientific and commercial arenas. In this course, students will be introduced to principles and current technologies of multimedia system design. Topics include: multimedia data representation, processing multimedia visual information, video and audio compression, retrieval of multimedia data, such as text, graphics, colour images and video. In addition, issues related to multimedia hardware and software as well as specific applications will be discussed.
|
|
|
|
Lect: 2 hrs./Lab: 1 hr.
|
| Prerequisites: (CPS 109 and CPS 393) or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
This course is a follow-up to CPS 530. In it, students will learn advanced techniques for the design and building of active web pages. Topics include: dynamic HTML and the DOM, Javascript, CGI programming using Perl, database connectivity and DBI web security, and Java servlets. At the end of this course, students will have designed and implemented a database application with a commercial-grade web interface.
|
|
|
|
Lect: 1 hr./Lab: 2 hrs.
|
| Prerequisite: CPS 530
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
633
|
|
Computer Security
|
|
|
A study/survey of the principles and techniques of computer security with an analysis of the social and professional issues that arise in the practice of computing. Topics covered include: the themes and challenges of network security, encryption (single and double key), techniques for access control and intrusion detection, digital signatures, pseudo-random bit generation, authentication, electronic commerce, PKI, significant privacy-related laws that impact business, history and examples of computer crime, sample privacy noncompliance litigation cases, social implications of computing networked communication.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: MTH 304 and CPS 590
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
706
|
|
Introduction to Data Communications
|
|
|
Introduction to basic concepts of data communications. Topics covered: Transmission Media, Multiplexing, Data Encoding, Circuit Switching, Packet Switching, Local Area Networks and ISO and IEEE Standards.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 590
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
707
|
|
Software Verification and Validation
|
|
|
This course introduces the topics of verification and validation of computer software. Material covered may include statistical and functional approaches to testing, test data analysis, testability, static analysis techniques, dynamic analysis techniques, selected state-of-the-art results, and real-world applications.
|
|
|
|
Lect: 4 hrs.
|
| Prerequisites: CPS 406 and MTH 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
Introduction to modern compiler design: theory, techniques, and tools. Students will develop an interpreter or compiler. Assembler and preprocessors will also be briefly discussed.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 406
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
711
|
|
Introduction to CAD/CAM
|
|
|
In this course, students will be working with software produced by SDRC called "I-DEAS". Hardware platform is Sun Workstations running distributed UNIX. Topics include: distributed UNIX, windows system open-look, creating 3-D objects under I-DEAS, geometry interface module & fractals.
|
|
|
|
Lect: 1 hr./Lab: 2 hrs.
|
| Prerequisite: CPS 393
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
720
|
|
Artificial Intelligence II
|
|
|
The course focuses on autonomous software agents (softbots). Topics include agent classification, reactive agents, agent intelligence and autonomy, agent mobility, agent communication languages, and agent negotiation. Programming assignments are written in Java and use the Aglet API for mobile Web based agents. KQML and XML are also discussed.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 721 or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
721
|
|
Artificial Intelligence I
|
|
|
This course provides introduction to several important AI problems and techniques, including knowledge representation and reasoning, constraints satisfaction, search, natural language understanding, planning, uncertainty, belief networks, learning.
|
|
|
|
Lect: 4 hrs.
|
| Prerequisites: (CPS 305, MTH 210, and MTH 304) or Direct Entry
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
731
|
|
Software Engineering I
|
|
|
Essential methods for the Systematic approach to the development, operation, maintenance, and retirement of Software. Software Life Cycles, process modelling, configuration management, managing Software quality, requirements analysis, specification, verification and validation, Software design, implementation, testing and maintenance. Software Tools, CASE tools and documentation.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 406
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
750
|
|
Telecomm Networks: Wireless Systems
|
|
|
The fundamental concepts of layered communications architecture are re-examined from the wireless data transmission point of view in order to understand the performance, behaviour and design of modern wireless technology. Emphasis is placed on radio and microwave transmission fundamentals, modulation systems, wireless error correction methods, spread spectrum transmission, code division multiple access, transmitters, receivers and antennas. Other topics involve signal analysis, digital signal processing (DSP), multipath fading, infrared systems, wireless networks and WLANs.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 706
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
752
|
|
Parallel Computer Systems
|
|
|
The topics of this course centre around the concepts of parallel processors and supercomputers with emphasis on processor technology, performance, and software, parallel computer models, program flow control and scheduling, metrics and measures, scalability of parallel algorithms, memory hierarchy technology, pipeline design, multivector and SIMD organizations, scalability and multithreading, software and compliers, case studies of the CRAY Y-MP and CM-5 environments.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
801
|
|
Operating Systems
|
|
|
This course covers the principal internal functions of Operating systems with particular emphasis on UNIX and Systems Programming. It deals with the function and implementation of state-of-the-art operating systems. OS concepts: concurrency, parallelism and distribution. Process management, Memory management, File systems, Auxiliary Storage management, Input-Output management, Processor management. Topics also include: Elements of Distributed Operating Systems, Parallel Operating Systems and Network Operating Systems.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 406 and CPS 590
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
809
|
|
Systems Simulation II
|
|
|
An extension of course CPS 703 incorporating additional features of the GPSS/H simulation language to permit more detailed simulation of complex systems. Animation of simulation models using the PROOF animation software is covered. Model validation and statistical analysis of model output data are also discussed.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 703
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
811
|
|
Distributed Systems and Networks
|
|
|
A continuation of CPS 706. This course deals with the concepts of internetworking as an extension of data communications. Topics will include routing and the TCP/IP suite of protocols. An introduction to X Windows programming allows students to investigate the aspects of distributed systems using Remote Procedure Calling, shared files and directories, NFS and NIS, the Internet, and other Distributed Computing Environments. Case studies will involve NFS, Amoeba, Mach and Grapevine. Concurrency aspects will be considered in the topics of collaborating servers and file replication.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 706
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
This course examines advanced aspects of compiling including run-time support, garbage collection code generation and type systems. Scanning and parsing will be neither covered nor required, but CPS 710 or readings in these areas is recommended.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 710
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
815
|
|
Analysis of Algorithms
|
|
|
Order notations. Divide and conquer techniques, dynamic programming, advanced trees, graph theory and algorithms, matrix operations, integer and polynomial arithmetic, pattern matching techniques.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 406 and CPS 616
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
820
|
|
Knowledge Based Systems
|
|
|
A continuation of CPS 721. The focus is on production systems but other expert system types are also discussed. Uncertainty management is discussed with emphasis on Fuzzy Logic. Human factors are also considered with respect to knowledge acquisition, the meaning of expertise and the role of the knowledge engineer. The course uses Fuzzy CLIPS and JESS as its knowledge representation system. Familiarity with Java is recommended.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisite: CPS 721
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
831
|
|
Software Engineering II
|
|
|
This course is a continuation of CPS 731. Topics include: Formal specification, algebraic specification, model oriented Specification, Software reliability, fault-tolerance, Software tools, programming environments, Toolkits, Method based Environments. Software development work benches, Software reliability, Software metrics, software standards, complexity measures, Software quality assurance, automated programming, CASE Tools.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 731
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
840
|
|
Selected Topics in Computer Science
|
|
|
An advanced level course taught by regular faculty members either singly, or in teams. Topics offered are determined by faculty expertise available. Registration may be limited to fourth-year students.
|
|
|
|
Lect: 3 hrs.
|
|
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
841
|
|
Advanced Topics in Computer Science
|
|
|
An in-depth analysis of recent developments and topics of current interest in Computer Science. Topics offered are determined by faculty expertise available. Registration may be limited to 4th year students.
|
|
|
|
Lect: 3 hrs.
|
|
|
|
Departmental consent required
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
842
|
|
Information Retrieval and Web Search
|
|
|
This course discusses basic information retrieval models, evaluation methods, state of art of search engines and new trends in web search. Topics covered include basic IR models, indexing, query operation, evaluation, categorization and clustering, web search, link analysis, web crawling, web mining, etc. After completing this course, students will have acquired the core techniques in building text retrieval systems, hands-on experience in building the core parts of a web-based search engine, and knowledge of IR applications on the world wide web.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 311 and CPS 305
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
843
|
|
Digital Image Computing
|
|
|
Computational and mathematical methods for processing, analyzing and manipulating digital images. Topics include: fundamentals of computer images, basic image processing, image transforms, edges and their detection, image segmentation, warping, morphing, and registration, image matching and feature extraction, image measurements, colour models. Example applications, such as medical image processing, the use of computer images in the entertainment field, and robot computer vision, will be used to support the lecture material.
|
|
|
|
Lect: 3 hrs.
|
| Prerequisites: CPS 209, MTH 108, and MTH 310
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
|
|
This course introduces the basic data mining concepts, methods, implementations, as well as applications in different areas, especially on the world wide web. Topics covered include the basic data mining techniques, data preprocessing, association rule mining, classification, clustering, web mining, and data mining application (e.g. in web personalization, recommender system, security). At the end of this course, students should be able to implement and use some of important data mining algorithms in practical applications.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisites: CPS 311 and MTH 304
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
845
|
|
Extreme Programming and Agile Processes
|
|
|
This course presents the main principles of Extreme Programming (XP) development, including: development methodology; rules and practices; application domains; public resources, such as forums, literature, and supportive tools. Other agile methods are covered as appropriate.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
| Prerequisite: CPS 406
|
|
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
883
|
|
Compilers and Translators
|
|
|
Topics include: Lexical analysis, deterministic and non-deterministic finite automata; hardware implementation of DFAs; Context-free grammars; parsing techniques; syntax directed translation, code generation; compiler generators.
|
|
|
|
Lect: 3 hrs./Lab: 2 hrs.
|
|
|
|
Departmental consent required
|
|
Course Weight: 1.00
|
| back to top | |
|
|
CPS
|
888
|
|
Software Engineering
|
|
|
Topics include: Issues in software engineering; software specification; system modelling; requirements specification; validation and prototyping; formal specification; object-oriented design; function-oriented design; user-interface design; CASE; quality assurance.
|
|
|
|
Lect: 3 hrs./Lab: 1 hr.
|
|
|
|
Departmental consent required
|
|
Course Weight: 1.00
|
| back to top | |
|
|