Digital circuits, combinational systems, memory, register transfer, control logic design, CPU design, and advanced topics on micro-architectures.

Requisites:

  • Complete the following:
    • CS2290 - Computer Organization and Architecture I (3)

Formerly CT3130 Introduction to computer communication networks. Digital data and voice transmission. Protocols for error and flow control, media access for LANs and MANs, routing and condition control, interconnection of networks. Introduction to recent advances in networks.

Requisites:

  • Complete the following:
    • CS2000 - Data Communications and Networking (3)
    • CS2010 - Practical Programming Methodology (3)

Formerly CT3110 Graphical input and output devices; segments; interactive input techniques; user interface design; windowing and clipping; 2D and 3D transformation; 3D modelling and viewing; hidden-line and hidden-surface removal.

Requisites:

  • Complete 1 of the following:
    • Complete the following:
      • CS1150 - Elementary Data Structures (3)
    • Complete the following:
      • CS2010 - Practical Programming Methodology (3)

The course includes basic concepts in computer data organization and information processing; hardware, physical organization, and access methods for fine storage; file I/O; introduction to database systems.

Requisites:

  • Complete the following:
    • CS2010 - Practical Programming Methodology (3)

General introduction to number representation, architecture and organization concepts of von Neumann machines, assemble level programming, exception handling, peripheral programming, floating point computations and memory management.

Requisites:

  • Complete the following:
    • CS1150 - Elementary Data Structures (3)

This course introduces the fundamentals of PC hardware. Students will open up machines, install devices such as hard drives, I/O cards, video cards as well as memory, CD/DVD ROM drives, install operating systems, explore a variety of different software packages, attach communications equipment and supporting software. Topics include system hardware (e.g. motherboards, processors, storage devices, memory), device drivers, operating systems (e.g. Windows, Linux), troubleshooting and maintenance of LAN (lLocal Area Network)-based PC, etc.

The first course of a two course sequence on algorithm design and analysis stream, with the emphasis on the fundamentals such as searching, sorting and graph algorithms. Examples include divide and conquer, dynamic programming, greedy method, backtracking, and local search methods. Analysis techniques will be developed to aid in judging program efficiency.

Requisites:

  • Complete the following:
    • CS1150 - Elementary Data Structures (3)
    • CS2720 - Formal Systems and Logic in Computing Science (3)
    • MA1130 - Elementary Calculus I (3)

This course will provide education students with the basic skills for using the most common information technology tools currently applied in schools. The types of tools include Internet tools, digital media processing, multimedia/hypermedia presentations, spreadsheets, and databases. The course offers a number of advanced modules dealing with more complex topics in these areas plus additional tools such as those for editing digital video and sound.

This course introduces you to the principles, methods, tools, and practices of a professional programmer working in a rich programming environment. The lectures focus on the fundamental principles of programming methodology based on abstract data types and their implementations. The laboratories offer an intensive apprenticeship opportunity for the aspiring software developer. You will use the programming languages C and C++ and software development tools supported by the Microsoft Windows and UNIX programming environment.

Requisites:

  • Complete the following:
    • CS1150 - Elementary Data Structures (3)

The course provides a review of programming principles (specification, implementation and testing), and an extension of object-oriented concepts from CS1140 including data abstraction, modular program construction and program reuse. The emphasis is on dynamic data structures (eg. lists, string, stacks, queues, tables), and their associated algorithms (eg. recursion, traversal, sorting, searching, hashing).

Requisites:

  • Complete All of the following:
    • Complete the following:
      • CS1140 - Introduction to Computing Science (3)
    • Or CS1000
Subscribe to