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.

Code
CS3032
Name
OPERATING SYSTEMS
Credits
4
Pre-requisites
CS2071
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2690
Last update with CAMS
Students will be familiar with the architecture of digital computers
Students will learn about the main components of the modern operating systems for digital computers.
They will know the historical development of essential concepts underlying these OS as well as the crucial issues in OS design and implementation.
Students will understand and be able to explain the evolution and objectives of OS
Students will be able to identify the main components of most modern multi-user, multi-process OS Students will understand the relations among these components as well as be aware of the most probable causes of malfunctioning or suboptimal performance of the OS.
The notions of process, process synchronization, CPU scheduling, memory management, I/O systems will be explored in depth.
They will be familiar with some of the best practices for general purpose OS design and implementation
Students will have working knowledge as well as the basic administration task in of unixoid Operating Systems
Term Code Name
Spring 2021 CS3032 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.
Code
CS3046
Name
EFFICIENT ALGORITHMS
Credits
4
Pre-requisites
CS2071 AND MA2400
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2692
Last update with CAMS
Have a basic understanding of theory of computation.
Have an understanding of the design of algorithms.
Have been exposed to a wealth of computer science algorithms.
Term Code Name
Spring 2021 CS3046 EFFICIENT ALGORITHMS

HUMAN-COMPUTER INTERACTION (CS3048)

Introduces theories of human-computer interaction and analyzes human factors related to the design, development, and use of Information Systems. Students will apply these theories with examples of design, implementation, and evaluation of multimedia user interfaces. The subject of this course is inherently interdisciplinary and the students attending the course normally represent several majors.

Code
CS3048
Name
HUMAN-COMPUTER INTERACTION
Credits
4
Pre-requisites
CS1005 GPA 3.0 OR CS1040 OR CS1040GE110
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2615
Last update with CAMS
Students will be able to demonstrate knowledge about the concepts and techniques of HCI.
Students will be able to employ user-centered design methods in the design and implementation of interactive software
Students will be able to design, conduct, and analyse empirical studies and usability studies that inform the design of interactive software.
Students will have experienced team work under strict deadlines.
Students will be able to communicate and reason about software design through clearly written documents.
Term Code Name
Fall 2021 CS3048 HUMAN-COMPUTER INTERACTION

WEB APPLICATIONS (CS3051)

The web applications world has been going through many transformations in recent years. Originally conceived as a vehicle for delivering documents, it is now being used as a platform for sophisticated interactive applications, taking the place of traditional desktop ones. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies on both the client and the server sides. In this course, we will cover technologies such as HTML, CSS and frameworks, JavaScript, VueJS and Node.
Code
CS3051
Name
WEB APPLICATIONS
Credits
4
Pre-requisites
CS1040GE110 OR CS1040
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2693
Last update with CAMS
Students who successfully complete this course will know full stack development using javascript. They will be familiar with front end technologies such as HTML, CSS and VueJS, as well as backend technologies such as NodeJS and MongoDB.
Students will be able to create professional full stack web applications using all the technologies as well as deploy them on the cloud.
Students will be able to join and participate in different technological communities.
Term Code Name
Fall 2021 CS3051 WEB APPLICATIONS

SOFTWARE ENGINEERING (CS3053)

In this course we will follow the Agile approach to software engineering. The course will use a SaaS project-oriented approach in order to teach key methodologies such as Behavior and Test Driven Development, Pair Programming, Design Patterns, Tools for Automation, Continuous Integration and others. Among technologies which will be learned are: git, github, linux, ruby, rails and various gems. Attending CS3051 and CS1050 before taking this course is recommended.
Code
CS3053
Name
SOFTWARE ENGINEERING
Credits
4
Pre-requisites
CS1040GE110 OR CS1040
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2695
Last update with CAMS
Students will master the Agile approach and will be able to use it in order to quickly engineer software as a service products.
Students will apply their knowledge in order to create software as a service application using Ruby. Additional technologies will include knowledge of git and github and various libraries and tools for software engineering.
Students will be effective collaborators using pair programming and in teams, using SCRUM. They will be able to manage and control time and tasks in an efficient way and how to resolve conflicts.

DATABASE APPLICATIONS (CS3068)

Introduces databases from the programmer's perspective. IT and CS students have common lectures but different projects. IT students learn the fundamentals of database design, SQL, and how to integrate a database into applications. CS students learn the fundamentals of database design, application integration, query motors, and space management.
Code
CS3068
Name
DATABASE APPLICATIONS
Credits
4
Pre-requisites
None
Co-requisites
None
Can be taken twice for credit?
No
Discipline
CS (Computer Science)
Level
Undergraduate
Type
GE110
CAMS ID
2697
Last update with CAMS
Students will be familiar with the theory and basics of relational databases, including design and optimization.
Students will be able to manage database responsibilities from the point of view of a software developer and will be familiar with SQL, stored procedures, indexes and triggers.
Students will know how to communicate with DB administrators in order to support enterprise needs.
Term Code Name
Spring 2021 CS3068 DATABASE APPLICATIONS

TOPICS IN COMPUTER SCIENCE (CS4091)

Courses on different topics in the discipline, enriching the present course offerings. These classes are taught by permanent or visiting faculty. Topics vary each semester.

Code
CS4091
Name
TOPICS IN COMPUTER SCIENCE
Credits
4
Pre-requisites
College Level=Senior AND Major=Computer Science
Co-requisites
None
Can be taken twice for credit?
Yes
Discipline
CS (Computer Science)
Level
Undergraduate
Type
Regular
CAMS ID
2702
Last update with CAMS

THEATER ARTS(MAY BE TAKEN TWICE) (DR2000)

Offers a practical workshop in the art of acting and dramatic expression. Students learn to bring texts to life on stage through a variety of approaches to performance. This course develops valuable analytical skills through play analysis, as well as building confidence in presentation and group communications skills through acting techniques and the rehearsal and performance of play scenes. May be taken twice for credit.

Code
DR2000
Name
THEATER ARTS(MAY BE TAKEN TWICE)
Credits
4
Pre-requisites
None
Co-requisites
None
Can be taken twice for credit?
Yes
Discipline
DR (Drama)
Level
Undergraduate
Type
Regular
CAMS ID
2704
Last update with CAMS
Analyzing scenes in a clear and organic way
Using imagination to enhance their performance
Accessing their emotional resources
Building believable characters
Creating truthful moments both on stage and screen
Relaxing/preparing before performing
Giving actors helpful and productive comments as a director
Term Code Name
Spring 2021 DR2000 THEATER ARTS
Fall 2021 DR2000 THEATER ARTS

ACTING IN FRENCH (DR2077)

For non-francophones. Aims at improving oral skills, expression, spontaneous production of French using drama and situations closer to reality than usual classroom settings. Thanks to acting techniques, students will learn to use their relationships with the world and others to stimulate their imagination and their own creativity.

Code
DR2077
Name
ACTING IN FRENCH
Credits
4
Pre-requisites
FR1300CCI OR FR2100CCI OR FR2200CCI
Co-requisites
None
Can be taken twice for credit?
No
Discipline
DR (Drama)
Level
Undergraduate
Type
Regular
CAMS ID
2706
Last update with CAMS