This course introduces the fundamentals of version control and teaches learners how to manage, track, and collaborate on software projects effectively using Git.
Learners will understand how version control works, create and manage repositories, track changes, work with branches, merge code, resolve conflicts, and collaborate with other developers using remote repositories such as GitHub.
Key topics
- Introduction to Version Control
- Git fundamentals and setup
- Repositories and commits
- Staging and tracking changes
- Branching and merging
- Resolving merge conflicts
- Remote repositories
- GitHub collaboration
- Pull requests and code reviews
- Undoing changes and managing project history
- Best practices for team-based development
By the end of the course, learners will be able to confidently use Git and GitHub to maintain project history, collaborate with development teams, and manage software changes safely and efficiently.
Learn JavaScript from the ground up and build the skills you need to create interactive, dynamic, and modern web applications. This beginner-friendly course combines core concepts with practical examples and hands-on projects.
This course is the first in a series for the Software Engineering specialization and is mandatory for all students enrolled in Software Engineering. It is free(!) for all students enrolled in the specialization and must be completed before progressing to any subsequent courses in the specialization.
It is designed to equip learners with transferable skills that enable them to adapt easily to different programming languages, frameworks, and technology stacks throughout their careers.
The course provides a strong, language-agnostic foundation in software engineering principles, programming fundamentals, object-oriented thinking, data structures, and professional collaboration using version control systems.
This course is a part of the Software Engineering Specialization which trains students to design, build, secure, and maintain backend systems that power modern software applications.
The Backend Module introduces students to the core principles of server-side development, system architecture, databases, APIs, and application logic. This module focuses on how software systems process data, enforce business rules, integrate services, and power real-world applications behind the scenes.
Although fully language-agnostic, students have the flexibility to choose the programming language they would want to focus on such as Go (Golang), Java, C#, C++, R, JavaScript, Python and PHP. The students will be guided on which Programming language is best suited for their intended specialization
PREREQUISITE
Successful completion of Course 1 – Foundations of Software Engineering
This course is part of the Software Engineering Specialization which equips students with the skills to design and build modern, responsive, and interactive user interfaces for web applications.
The focus is on frontend engineering principles that are applicable across languages and frameworks.
PREREQUISITES
• Successful completion of Course 1 – Foundations of Software Engineering
The Mobile Engineering course is a part of the Software Engineering Specialization course and it focuses on building applications for mobile devices. Students will learn how to design, develop, and deploy mobile applications using modern tools and best practices. The course emphasizes hands-on development, user experience, and performance, and concludes with a capstone project for students seeking certification.
PREREQUISITE
Successful completion of Course 1 – Foundations of Software Engineering