Course Offerings by term

Course Offerings

Topics change each semester- see the current Academic Schedule for current course descriptions.


DayStart TimeEnd TimeRoom
Monday
16:55
19:50
C-501

Topics change each semester- see the current Academic Schedule for current course descriptions.


DayStart TimeEnd TimeRoom
Saturday
10:00
18:00
Q-A101
Wednesday
15:20
21:25
Q-A101
Friday
15:20
21:25
Q-A101

At the end of the course work students have the option of completing a thesis or an 6-credit Internship.
In the last semester of their studies students may choose to complete a 14,000 to 20,000 word thesis (instead of an Internship). Additional paperwork available in the Office of the Registrar is MANDATORY for registration of the thesis. CM 5095 will count as 8 credits for catalogs prior to 2022-2023. 6 credit is in effect for students who start in Fall 2022 and beyond.


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.


DayStart TimeEnd TimeRoom
Friday
13:45
16:40
C-302
Tuesday
13:45
15:05
C-302

This project-based course introduces data science by looking at the whole cycle of activities involved in data science projects. Students will learn how to think about problems with rigor and creativity, ethically applying data science skills to address those problems. The course project will address the theoretical, mathematical and computational challenges involved in data science.


DayStart TimeEnd TimeRoom
Monday
10:35
11:55
C-302
Thursday
10:35
11:55
C-302

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.


DayStart TimeEnd TimeRoom
Friday
16:55
18:15
C-302
Tuesday
15:20
18:15
C-302

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.


DayStart TimeEnd TimeRoom
Monday
09:00
10:20
C-302
Wednesday
09:00
10:20
C-302

The 21st century has seen a big increase in the amount of data which is made accessible. Social media such as Facebook, online shops such as Amazon and many others, are all gathering raw data. But what can be done about this data? Data Science covers tools and methods around the extraction of knowledge from data. Such tools cover its collection, storing, processing and analysis. In this course we will learn about several of the most important tools in the above flow and will apply them to real-world examples.


DayStart TimeEnd TimeRoom
Monday
13:45
15:05
C-302
Thursday
13:45
16:40
C-302

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.


DayStart TimeEnd TimeRoom
Tuesday
12:10
13:30
C-302
Friday
12:10
13:30
C-302

Much of the world’s population relies on online technologies, particularly online applications accessed through a web browser, otherwise known as websites. Understanding how websites work and being able to create powerful online applications is an important aspect of the software profession. More than other digital applications, complete web applications require the integration of numerous technologies. This course will introduce students to online technologies and provide the foundations and skills needed for creating professional web applications.

The course will cover HTML, CSS, Javascript, and Node.js. Students will create full-stack websites backed by a SQL database. Prior programming experience is required.


DayStart TimeEnd TimeRoom
Tuesday
10:35
11:55
C-302
Friday
10:35
11:55
C-302