ALERT: If you intend to take this course, please do not read through the course material as the effectiveness of learnings depend on reaching the solution through a series discussions and there is no one RIGHT answer. Reading the course material upfront will bias you and hence reduce the effectiveness of the sessions.
LaunchPad is a finishing school for programmers which helps good programmers to become exceptional. It helps them enhance their Software Engineering skills to solve the problems in the demanding and ever-changing industry. It is delivered through continuous interactions using the Socratic method.
Students that are recently graduated in Computer Science have good exposure to algorithms, writing snippets of code for performing an action but could use a primer on writing real world maintainable complex software in quick iterations with best practices and right approach to: version control, continuous integration, agile development, right tools, design patterns etc.
Certain practices and principles help programmers to be good software engineers. The most significant traits of a good programmer is an ability to think about the problem domain at various abstraction levels.
- Agility
- Design
- Continuous Learning
- Tech Agnostic
EOF
This curriculum intends to bridge this gap. - To make Smart Students, Smart Engineers. This is a living document. If you are reading this, feel free to fork, edit and submit a pull request.
The curriculum is organised into the following topics which are covered through several sessions:
- Ruby, Javascript basics
- OOP
- Design Patterns