INTRO TO COMPUTER PROGRAMMING I (CS1040)

Introduces the field of computer science and the fundamental concepts of programming from an object-oriented perspective using the programming language Java. Starts with practical problem-solving and leads to the study and analysis of simple algorithms, data types, control structures, and use of simple data structures such as arrays and strings.

INTRO TO COMPUTER PROGRAMMING II (CS1050)

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.

COMPUTER GAMES DESIGN (CS2020)

This project-based course provides an in-depth understanding of how the computer game design process works. Students with little or no programming experience will learn how to create their own computer games using either "drag-and-drop" game engines to create 2Dimensional and 3Dimensional games without any programming or computer programming for wireless devices (cell phones), using a subset of Java programming language J2ME, with examples from the game development process.

SOCIAL ROBOTICS (CS2021)

This course introduces the fundamental concepts of simulation of complex systems (from collections of a few objects to multi-agent systems and societies in general), computation, and information processing, via a hands-on, active learning approach. By building physical artificial agents and using ready-made simulation programs, students will also learn about modeling complex phenomena along with experiment design and reporting. These skills are essential for any discipline.

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.

TOPICS IN COMPUTER SCIENCE (CS2091)

Covers a current CS topic of interest. Content changes each semester the course is offered.

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.