Open Source Option
Open Source Society University – https://github.com/ossu/computer-science
Curated Option
Semester 1 – Introduction
Introduction to Computer Science
- What is computation?
- Branching and Iteration
- String Manipulation, Guess and Check, Approximations, Bisection
- Decomposition, Abstractions, Functions
- Tuples, Lists, Aliasing, Mutability, Cloning
- Recursion, Dictionaries
- Testing, Debugging, Exceptions, Assertions
- Understanding Program Efficiency
- Searching and Sorting
- Number Bases
- Modular Arithmetic
- Sequences
- Series
- Number theory
- Introduction to HTML5
- Introduction to CSS3
- Coding a static website
- Introduction to Javascript
- Build a web application using Javascript
Semester 2 – Deep Dive
- Python
- Django
- Builtin functions
- Modules and packages’
- Python GUI
- Data science
- Machine learning
Object Oriented Programing with Python
- Introduction to OOP and key concepts
- Classes
- Instances and instance attributes
- Properties
- Methods
- Aliasing, mutation and cloning
- Relational database design
- SQL introduction
- Simple data handling (select, insert, update, delete)
- Joins
- Aggregation
- View and non permanent tables
- Stored Procedures, cursors, and windows functions
- Introduction to NoSQL with MongoDB
Problem Solving and Critical thinking
Semester 3 – Specialization
Specialization – students can select one of the following paths as their specialization
- Web – Developing web front ends with React
- Backend – Backend application development with Node
- Mobile – Cross Platform mobile application development with React Native
- Clean code with Javascript
- Modules in Javascript
- Design patterns and principles
- Testing
- Error handling
Introduction to Cloud Computing
- Storage, database, networking, virtualization, containers, and cloud architecture
- Configure elasticity, Auto scaling
- Launch Amazon RDS and a NoSQL database
- Create a Platform as a Service (PaaS) application on AWS Elastic Beanstalk
- Implement serverless computing and Docker containers on AWS using AWS Lambda and Amazon ECS
- Create serverless event-driven architectures on Lambda
- Create loosely coupled services with Amazon SQS and Amazon SNS
- Branching and merging
- Fetching and pulling
- Git collaboration workflows
- Rebasing