Department of Computer Science

Computer Science, or the science of information processing, performs algorithmic treatment of data organized in structured sets.

Program description

Computer Science, or the science of information processing, performs algorithmic treatment of data organized in structured sets. These treatment processes are programs, written with programming languages, and implemented on technical architectures (machines, network, computing resources). The programs and applications are designed in accordance with these structures as well as the expected results. Thus, depending on the particular problem, analysts will adapt the structures, the methods and the technical choices of language, and platforms, in order to realize a program, an application.

The computer science department offers students a wide range of modules that allow them to tackle complex problems. At the end of this cycle, students become designers and developers able to solve a diverse range of problems using appropriate algorithms and adapted.

Students are introduced to group work and projects learning from a definition of problem specification, to the production of software. All projects ends with a defense during which instructors assume the role of the client.

The undergraduate Computer Science modules consolidate the basic mastery of various domains of computing (algorithmic and data structures, databases, networks, operating systems, Web programming, object-based programming …) allowing students to choose a major specialization.

Head of Department : Dr. Faten Chakchouk

Learning objectives

  • Ability to analyze a problem
  • Capacity to develop a problem resolution strategy
  • Demonstrate an ability to formalize this strategy in an algorithm

These core skills will enable students to gain a broad understanding of coding in and of itself, while thinking in terms of solutions and IT performance.

At the end of the undergraduate cycle, the student will have mastered several programming languages: Python, C, C ++, Java, HTML, SQL … He will have the control of the programming by object and will be able to use the classes, the inheritance and polymorphism. Students also master the process programming by object and be able to use classes, inheritance and polymorphism.

Students will be able to situate themselves within the technological universe and the protocols of Web programming in a client-server, and will master in particular HTML and CSS standards.

Students will understand the internal mechanisms of an operating system (in particular the algorithms used for process, memory and file system management), and will control the operation of IP data networks and switching technologies.

Students will be able to design a standardized database schema and use a DBMS to fully exploit and administer the database. Students will know the principles governing the internal organization of computers and will have notions of programming assembly including interactions between hardware and software, and will be better able to understand the concepts of Concurrent Programming and Parallel Programming.

Finally, students will be introduced to the main concepts of cybersecurity.