- 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:
- GameDev courses on Coursera
- Unity offers free subscription for students
- 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
- 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!
- Learn how to get your queries answered from the internet
- Stack overflow
- ChatGPT
- Open Course Wave
- LibreTexts
- Striver
- Very helpful tool
- Will help you through all subjects, especially coding
- Not just answers, but explanations
- Build your profile
- Network with people
- Learn about opportunities
- Learn professional skills
- Extremely useful skill
- Keybr, Monkeytype and other similar sites to learn and practice
- Compete against others on Typeracer