RESEARCH AND WRITING IN CS & MATHEMATICS (CS3050)

One of the most critical factors in the success of an idea is effective communication.

This course addresses written communication in different contexts for both Computer Science and Mathematics.

Students will learn to choose the appropriate styles for different audiences (e.g. textbooks, articles/reviews, posters, general public, professional colleagues).
They will be asked to research and report on small practical tasks in bot CS and Math, such as proof, empiric complexity analysis of algorithmic strategies, data analysis and visualization and software documentation, producing well structured and formatted documents. Along the way, they will learn to use mark-up languages (such as LaTeX and markdown) and dedicated software for plotting and graphics editing.

WEB APPLICATIONS (CS3051)

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.

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.

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.

INTERNSHIP (CS3098)

An Internship can replace one elective from the ICT curriculum. It may be done in France or elsewhere. Internships may be taken for 1 or 4 credits. Students may do more than one internship, but internship credit cannot cumulatively total more than 4 credits.

INTERNSHIP (CS3980)

Internships may be taken for 0 credits. Students may do more than one internship, but internship credit cannot cumulatively total more than 4 credits.

INTERNSHIP (CS3980)

Internships may be taken for 0 credits. Students may do more than one internship, but internship credit cannot cumulatively total more than 4 credits.

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.