Course Catalog

FIRSTBRIDGE IN COMPUTER SCIENCE (CS1099)

Firstbridge courses are offered to degree seeking freshmen and registration is done via webform in pre-arrival checklist.

TOPICS IN COMPUTER SCIENCE (CS1910)

Topics vary by semester

TOPICS IN COMPUTER SCIENCE (CS1910)

Topics vary by semester

INTRO TO COMPUTER PROGRAMMING II (CS2040)

This is the second part of the foundation course for the Information and Communication Technologies degree program. Successful students will have a thorough knowledge of the computer language Java, the systematic development of programs, problem-solving and a knowledge of some of the fundamental algorithms of computer science. Essential concepts include inheritance, polymorphism, and error-handling, using exceptions.

SECURITY, PRIVACY, & TRUST (CS2055)

The course provides an understanding on the need for security, privacy and trust in ICT. Legal and ethical aspects will be covered. Technology for security, privacy and trust will be presented at a functional level. The following topics will be covered: security threats and solutions, intellectual property rights, anonymity and identity, business stakeholders privacy obligations, privacy in today applications (search engine, social networks, location oriented services, RFId-based applications), privacy enhancing technologies, privacy policy enforcement, trusted computing.

LANGUAGES & DATA STRUCTURES (CS2071)

Uses predefined classes and class libraries to introduce standard data structures (stacks, queues, sets, trees, and graphs). Studies and implements algorithms for string-searching, sorting, trees and graph traversals. Introduces algorithm complexity analysis and big-Oh (O,,) notation.

COMPUTER NETWORKS (CS3015)

The course explains through an architecture perspective the principles and practice of computer networking, with emphasis on the Internet and on pervasive computing. The following topics will be covered: structure and components of distributed systems, layered ISO/OSI architectures, protocols, local Area Networks, wide area networking issues including routing, flow control. Some advanced topics will also be covered such as pervasive computing, ad-hoc networks, security and privacy.

ARTIFICIAL INTELLIGENCE (CS3026)

Introduces some of the key ideas and concepts in artificial intelligence (e.g. knowledge bases, problem solving). Provides an overview of current applications (expert systems and rule-based systems, language understanding, perception, learning). Introduces some of the techniques (matching, goal reduction, tree-pruning, searching, etc.) that are typically used.

OPERATING SYSTEMS (CS3032)

Studies the design and implementation of general-purpose operating systems on digital computers: memory management, virtual memory, storage hierarchy evaluation, multiprogramming, process creation, synchronization, deadlock, message communication, parallel programming constructs, I/O management, and file systems. Includes case studies of major operating systems.

EFFICIENT ALGORITHMS (CS3046)

Develops skill in devising combinatorial algorithms and in analyzing their behavior. Starts with a brief introduction on formal systems, automata and Turing machines and continues with a study of algorithms for sorting, searching, string processing, geometry, graphs, numeric, and algebraic applications.