The Bachelor of Science in Computer Science (BSc CS) program allows students to acquire the theoretical and technical foundation that will enable them to become versatile developers.
These future professionals will then be able to meet all the challenges of application development encountered in international companies, but particularly in France, thanks to intensive language learning from the moment the students arrive. Whether it is the creation of a user interface, server-side processing or the optimization of data access performance, the developers graduated from this training will be able to understand, participate in the development and finally implement the chosen solution.
The program is composed of 6 semesters over a period of 3 years. In order to obtain the Bachelor’s degree, students must acquire 180 ECTS (European Credits Transfer Systems) and a B2 level in French. After graduation, students will have the possibility of pursuing a Master of Science program in English.
The program includes two internships: a 2-month and a 6-month internship at the end of the first and the third year of studies respectively in a French or international company.
Bachelor 1 | Bachelor 2 | Bachelor 3 | |||
Semester 1 | Semester 2 | Semester 3 | Semester 4 | Semester 5 | Semester 6 |
30 ECTS | 30 ECTS | 30 ECTS | 30 ECTS | 30 ECTS | 30 ECTS |
Sep to Jan | Feb to Jun | Sep to Jan | Feb to Jun | Sep to Jan | Feb to Jul |
PROGRAM
Year 1
* From the very beginning of the program, computer science is present among all the different contents delivered to students. As it cannot be done with a minimal background in mathematics and data representation, the introduction to programming language is done along with mathematics skills review: bases of calculus, probability, and algebra, which will allow students to start thinking as a software engineer.
* Those core skills will introduce students an effective mental organization, allowing them to organize data and to design solutions that will resolve any kind of problems a program can solve, from scientific computing to business application architecture design.
* In a joint move towards software solution conception, programming using python, software and hardware architectures will be introduced to equip the students with applied and operational skills in whatever domain that involves computer science, from the idea to software development, not forgetting hardware considerations.
* Those skills will always be accompanied with human sciences and soft skills development, such as project management and teamwork.
* At EPITA we strongly believe that the content cannot be truly acquired by students without an extensive time to practice and to transform knowledge into skills. All the covered domains will be demonstrated and practiced though projects inspired by real life situations.
Course List
S1
- Mathematics – Algebra 1
- Numerical Applied Mathematics 1
- Mathematics – Probability and Statistics 1
- Algorithmic and Data Structures 1
- Mathematics applied to Digital Engineering
- Introduction to Python Programming
- Introduction to Relational Database Design
- Frontend Web Development
- Cultural Integration Workshop
- Corporate Social Responsibility
- Software Architecture & Design
- Introduction to Microsoft Windows
- Introduction to Linux
- Introduction to Research Workshop 1
- S1 Project
- General and Technical French (All levels)
S2
- Mathematics – Linear Algebra 2
- Numerical Applied Mathematics 2
- Mathematics – Probability and Statistics 2
- Algorithms and Data Structures 2
- Backend Web Development
- Python Programming
- Design Patterns : applications in Python
- Communication for the Company
- Introduction to Computer Networks
- Shell programming on Windows and Linux
- Introduction to Research Workshop 2
- S2 Project : First Application “Full Stack” (web + PHP + python)
- General and Technical French (All levels)
Year 2
The second year extends the core skills learnt during the first year and stays focused on operational skills regarding computer science and development. This is done by adding Operating Systems programming & administration in both UNIX and Windows, and network to prepare one big step of a program lifecycle: deployment and go-live.
During this year, the C & C++ programming languages will be introduced, allowing students to deepen their understanding of how computations are done by hardware. Students will learn how to finely manage memory and computation time to fit common business requirements.
They will complete the scope of their knowledge by approaching how to design their data persistence and will practically discover that during the databases introduction course.
Students will also continue their development in theoretical domain, with reinforcement courses in Algorithms, and applied mathematics skills to propose rational solutions to business problems. Management courses will of course be part of this year for students to pursue their journey to become polyvalent professionals.
Course List
S3
- Mathematics – Mathematical Tools Applied to Computer Science
- Distributed Architectures – Principles and Implementation
- Algorithm: Complexity & Optimization
- Java Application Development
- Python for Web Application
- Intermediate Relational Databases
- Advanced Web Development
- Project Management: Introduction and Tools
- Introduction to Enterprise Networks
- Software Security Principles
- Version Control
- General and Technical French (All levels)
S4
- Server-Side JavaScript
- Introduction to NoSQL Databases
- Microservices with Python
- Relational Database Design for Production
- Advanced JavaScript Programming
- Introduction to Mobile Development: Android
- Agile Fundamentals
- IAM Fundamentals
- Cloud Computing
- Data Protection GDPR
- Software Integration
- S3 Project – Operational Web Application
- General and Technical French (All levels)
Year 3
The third year is an opened conclusion to the skills acquired during the two previous years: students will reinforce their programming skills by attending Advanced algorithm courses and developing their Java programming & advanced databases techniques. At this time, they will be able to figure out common problems in companies regarding IT projects, but they will be also able to bring working and efficient solutions to those problems. Students will be then completely prepared to pursue any paths they wish to follow. They will be ready to start technical-oriented, management-oriented or data-oriented path for their next level of studies.
As students need to provide an official B2 level attestation in French in the end of their program, EPITA organizes TFI (Test de Français International) sessions during the sixth semester. In order to prepare them to the particularities of this exam, the students will be offered a 10 hours preparation course.
Course List
S5
- Microservices with Java
- Microsoft / .NET C#
- Front-end Framework
- Mobile Development: IOS
- Entrepreneurship
- Tools for Career Development
- Programming at Scale
- Monitoring
- DevOps Approach
- Web Security
- End-to-end application realization
- Final Project
- General and Technical French (All levels)
S6
- TFI (Test de Français International) preparation course
- 6-month internship in a company