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.
Accredited by the Commission des titres d’ingénieur (Cti), the program is offered entirely in English. Graduates of this program will be awarded a national Bachelor degree (“Grade de licence”).
Program
Structure
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 1-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 |
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
- Introduction to Web Programming
- Cultural Integration Workshop
- Corporate Social Responsibility
- Principles and Architecture of Information Systems
- Introduction to Microsoft Windows
- Introduction to Linux
- 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
- Web Application Development with PHP
- Intermediate Python
- Design Patterns : applications in Python
- Communication for the Company
- Introduction to Computer Networks
- Shell programming on Windows and Linux
- S2 Project : First Application “Full Stack” (web + PHP + python)
- General and Technical French (All levels)
- 1-month internship in a company
*The course list is subject to change.
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
- Versioning and Collaborative Tools for Development
- Introduction to Research Workshop 1
- 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)
*The course list is subject to change.
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
- Principles and Tools for IS load management
- DevOps Approach
- Web Security
- End-to-end application realization
- Introduction to Research Workshop 2
- Final Project
- General and Technical French (All levels)
*The course list is subject to change.
S6
- TFI (Test de Français International) preparation course
- 6-month internship in a company
Internship
On the way to Full-stack Developer
Students have to take two internships during their studies.
The first internship is of one month, and takes place at the end of Year 1. It allows students to acquire business experience, enriched by working in different social and cultural environments, facilitating their future professional integration.
The second internship will happen in the last semester and lasts for 6 months. It is the capstone of the BSc Computer Science program, has to be in the field of development (“front”, “back” or “full-stack”).
The internship is validated by the academic team. Interns will benefit from a well-developed internship agreement ensuring compliance with new regulations. Students have to complete both internship in order to validate their curriculum.
Student Testimony
What jobs can the BSc Computer Science program lead to?
- Full Stack Software Developer
- Software Development Analyst
- Software Development Analyst
- Front-end Developer
- Technical Trainer
- Project Manager Assistant
- Tech Lead Assistant
- Technical Officer
Further Study:
You wish to Study at EPITA?
You have questions?