Mathematics & Computing
Fresources , Resource Hub
CP (Competitive Programming)
An intellectual sport
Contestants, known as sport programmers, are challenged to solve algorithmic problems as fast as possible
Competing with the world
C++ preffered language to get started
ANCC Resources
Practice makes perfect.
Platforms: Codeforces, Codechef, CSES, AtCoder, LeetCode, Hackerrank
Compete: ACM-ICPC, Meta Hackercup
Really important for placement tests and becoming better at programming in general
Software Development
Develop any application that excites you and ship it to the end user.
Bring your imagination and creativity in “hard” copy ;)
Learn new skills and build stuff!
Necessary for a lot of coding jobs (more important for offcampus) and something that is NOT taught in college
CV Point !
App Development/Web Development/ML/Game Development/Blockchain Development ...
Web Development
Good skill to begin with in software dev
Begin with HTML, CSS, JS and then move onto Fullstack or MERN stack dev
A lot of projects/freelance work is actively done
Frontend, Backend, UI/UX
FreeCodeCamp
Udemy
Game Development
Build simple games such as tic-tac-toe or complex ones such as Forza Horizon Series
Great option to check out if you have nice creative/art/story-writing skills(not to mention patience 🤕)
Generally no-code
Resources:
ML
What? Make computers smart.
Let them see - Computer Vision
Let them predict & choose - Regression & Classification
Let them speak and understand Speech - Natural Language Processing
Act like humans: Robotics and Aritficial Intelligence
Why?: Self-Driving Cars, Large Language Models,
THE FUTURE!!
Resources
App Development
What? Build apps for mobile phones
How?
Learn Flutter (highly recommended)
Kotlin/Java are good options too
Resources
Flutter CodeLabs and Tutorials
Udemy Courses
Operating Systems and Linux
Linux is a family of open source operating systems based on the linux kernel
Why Linux?
It’s Lightweight compared to windows
It’s Free!!! And open-source, programmers have changed it to make it highly useful for programming and development
A Command Line interface along with GUI
You will also need Linux for courses,
So better get used to a popular Linux distro like Ubuntu.
VirtualBox: You can use Linux in your windows environment with this.
It will be useful if you are a beginner to Linux.
Dual Boot: This means using 2 operating systems on your machine.
While Dual booting is better than virtual-box, you should always keep a backup of your windows files in case anything bad happens
You can check this for setup: Tutorial
You can check out for tutorials on YouTube
WSL (Windows Subsystem for Linux): If you only want to use linux on CLI but don’t want to switch from Windows WSL Tutorial
You can also use secure shell (ssh) in your command-prompt to connect to your csc account, which is a linux machine, and use it.
Extremely important to refer to courses of study and recommended course structure
Do you core courses on time.
Look out for prerequisites and overlapping courses
Build a tentative degree plan
All courses are not offered in all semesters
Don’t fail important courses like which are prerequisite for many courses
Reach out to your seniors when in doubt
Spend your first year exploring stuff. (Coursera/YouTube/Udemy)
Find what you like and get very good at it
Build your resume (get overleaf premium using NSUT id).
Work on projects
Dedicated sessions closer to intern season in the second and third year
Solution to versioning and collaborative development.
Make a github pro account using NSUT id!
StackOverFlow, Google, ChatGPT & Other
Build your profile
Network with people
Learn about opportunities
Learn professional skills
LinkedIn
Extremely useful skill
Keybr , Monkeytype and other similar sites to learn and practice
Compete against others on Typeracer