Software Engineering with Python

12 Weeks March 2020

List of topics covered

Basics

  • Basic UNIX
  • Introduction to a programmers editor (Emacs)
  • Version control (Git)
  • Programming languages (Python).

Programming

An intensive programming course that starts with basic programs and slowly progresses to advanced problems. Students will learn programming and software testing from an industry perspective and learn through real life examples. The focus is on developing your ability to solve problems through an algorithmic mindset

Web development and basic Devops

Cover technologies used for developing dynamic web applications. First project will focus on a simple traditional web application and the second will be a more modern single page application. Students will deploy the apps on a server and finally be able to acquire the necessary skills for building modern web applications end to end

Projects

Students will do two projects. One individual project will help students to develop skills for framing the problem, develop multiple solutions, evaluate trade-offs and code the best possible solution

A second group project that the student will collaborate with batchmates to develop. Students will learn how to communicate technical problems. learn the capability to work together as a team and how to solve problems collectively

Code comprehension

Read and understand an existing library and to see how it works. As a developer you are expected to understand other peoples code and this module will help learn the skills to do that.