This repository contains notes and programs generally not taught as part of Computer Science & Information Technology curriculum.
The topics here are going to be taught over 50 academic hours. The topics covered here are aimed for a full stack developer. Majority of the examples demonstrated here are based on Python.
- Basic programming
- Datastructure and Algorithms - Real time examples and visualisation
- Programming languages - Java, Python & Go basics
- TextEditors & Shell - VSCode, Vim, nano
- Source control - How to use Git
- Relational & Non relational Databases - MySQL, MongoDB, Distributed DB basics with examples
- Web app frameworks - flask, django
- REST Apis - Building REST apis with flask
- Q&A
- App deployment & hosting - Heroku, AWS, Azure, GCP
- Web servers - Apache/nginx/ha proxy
- Web development basics - HTML/CSS/JS basics with examples
- Javascript frameworks - node/react
- Networking & Security - https/websocket/webrtc/cryptography
- Building web apps - Flask + react.js demo app
- Q&A
- API integrations - Third party integrations - Twilio/Sendgrid
- Microservices, Containers, Serverless - Lambda, Docker & kubernetes
- DevOps & CI/CD - Ansible/Jenkins/Prometheus/Grafana
- Build an end-to-end app and deploy - vercel, heroku app deployment
- Q&A
- Data science & visualization - Pandas, Scipy, Matplotlib basics with examples
- Research & Analysis on dataset - Demo application
- Basics of AI/ML - Pytorch/Tensorflow
- Building a ML model from scratch - Tensorflow example
- Transfer Learning & Deep Learning - Basic concepts
- Q&A
- Task queues - Kafka, RabbitMQ
- Server architecture & system design - Building whatsapp/snapchat/instagram/facebook like architecture
- Software Testing and how to write automation testing
- Mobile app development - Android
- Build a complete mobile app - Build and deploy an app in playstore
- Q&A
- Game development - Blender/Unity 3D basics
- Blockchain & Cryptocurrency - Basics
- Metaverse - AR/VR/XR basics
- Software tools used at companies - Basics
- Q&A
Coding interviews https://github.com/jwasham/coding-interview-university
Laws to live by https://github.com/dwmkerr/hacker-laws
Twelve-Factor App https://12factor.net/
Full stack python https://www.fullstackpython.com/
Things every programmer should know https://github.com/mtdvio/every-programmer-should-know
An introduction to distributed systems https://github.com/aphyr/distsys-class
How do I test https://blog.nelhage.com/2016/12/how-i-test/
Build your own X https://github.com/danistefanovic/build-your-own-x
Undervalued skill: Writing https://blog.pragmaticengineer.com/on-writing-well/
In the first session, we will discuss the basics of programming and what are all the constructs that are common across languages and the common complexities. We will go through stack, queues, recursion, trees, hashtables, sorting, graphs with visualisation along with real life examples on how do they work internally.
Presentation link: The file has been placed in the session I folder in the repo. https://jamboard.google.com/d/1vGsFzVVWzTh9HcsvD1cXFEb14sRN3rXKfbs02y-6Gug/viewer?f=7
Reference link: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
Recordings link: https://drive.google.com/file/d/12iLRgQqTFr-Vto_jVtE9gDTWBR2UHXqN/view
https://www.youtube.com/watch?v=k6D_6T7BY3I (Youtube live stream)
Basics on Java, Python & Go languages with specific examples explaining how are they used in real applications.
Presentation link: Pushed into Session II folder
Reference link: https://education.github.com/
https://www.programiz.com/python-programming/object-oriented-programming
https://www.geeksforgeeks.org/python-oops-concepts/
Recordings link: https://youtu.be/Q9SXTy7Vtlw (Live stream link)
TextEditors & Shell - VSCode, Vim, nano.
Basics on using Linux commands
Explaining how to use Shell efficiently
Talk about one of the product - A Rasberry Pi based Walkin counter that I have built earlier and details on how to approach problems
Presentation link: https://docs.google.com/presentation/d/1ZKh2z-g_yG6T8j-9tcY01TdIbojcnQvaLEi1m3gWfG8/edit?usp=sharing
Reference link: https://coderwall.com/p/adv71w/basic-vim-commands-for-getting-started
https://itsfoss.com/linux-command-tricks/
Recordings link: To be added
Source control - How to use Git
Git becomes the de-facto standard for Source code management.
Explaining how to use them effectively when you work in a collaborative environment
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Relational & Non relational Databases - MySQL, MongoDB, Distributed DB basics with examples
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Web app frameworks - flask, django
Building basic applications using Flask
REST Apis - Building REST apis with flask
Understanding the basics of REST Apis
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
App deployment & hosting - Heroku, AWS, Azure, GCP
Web servers - Apache/nginx/ha proxy
Web development basics - HTML/CSS/JS basics with examples
Javascript frameworks - node/react
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Networking & Security - https/websocket/webrtc/cryptography
Building web apps - Flask + react.js demo app
API integrations - Third party integrations - Twilio/Sendgrid
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Microservices, Containers, Serverless - Lambda, Docker & kubernetes
DevOps & CI/CD - Ansible/Jenkins/Prometheus/Grafana
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Build an end-to-end app and deploy - vercel, heroku app deployment
Presentation link: To be added
Reference link: To be added
Recordings link: To be added
Thank you!
Karthikeyan NG
intrepidkarthi@gmail.com
http://www.intrepidkarthi.com