February 13, 2025 · Rajin Khan
So, you just got in.
First of all, congrats! 🥳
Give yourself a pat on the back for managing to get on the hamster wheel of death. You’ll have to sell your soul for section seats, your class timings are going to be horrible, and you’ll deal with impostor syndrome every semester. With the major you picked, you better start booking your spots in the homeless shelters around.
But in all seriousness, if you’re someone that hasn’t had any prior experience nor exposure to Computer Science, getting into it at a Higher Education Level may seem daunting. Daunting, but not impossible.
🧑🏻💻 It’s way easier than you think.
At a higher education level, if you’ve picked CSE as your major, you fall into one of two buckets:
A: You love this.
You think coding is super cool, you’ve watched Mr. Robot, The Social Network, and you want to create cool websites, games, and earn a lot of money.
B: Someone said so…
You don’t know what to study, your parents won’t let you pick BBA, and well, CSE has computers…? You get to build a new PC, with the highest end graphics card (which of course, you need for writing your first ‘Hello World’ program), and it seems easier than other science subjects… right?
Well, regardless of which one you fall into, NSU does not care. The courses and the sheer difficulty of them will hit you like a truck from the very first semester.
Although some manage to get through the first year with ease, the difficulty keeps ramping up, and after a while, it’s quite normal to feel overwhelmed. But with the correct idea of how to go forward, the right planning, you can actually get away with scraping A-s in almost every course.
✌🏻 There’s really two things you need to be aware of.
Your Course Plan:
NSU does actually have an official CSE course plan, but it can seem a bit confusing at first, with GED (General Education) courses shoehorned in every other semester.
Think about it like this:
- The more CS courses you take, the faster you’ll graduate.
- The EEE and MAT courses are there so you can attach the ‘Engineering’ tag at the end of your degree.
- The GED courses are there to ensure your CGPA remains decent.
While you can always refer to the original course plan, it’s good to have a general idea and plan out what you need to take, and when, if you want to graduate within 4-5 years.
Here’s an easy to follow plan for you, just for the CSE courses:
❶ For your first year, it’s pretty straightforward.
You cover Programming Basics with C (CSE115), Discrete Math (CSE173), and Object Oriented programming with Java (CSE215). Pay really good attention and master the fundamentals this year, and you’ll be set for the rest of your career.
Remember to study the languages in advance, and try to build something other than a management system for your projects (although that’s fine for CSE115).
❷ For your second year, it’s a bit more exciting.
You get Data Structures and Algorithms with C++ (CSE225), which unlocks Database Systems with SQL (CSE311). Then, you get your first hardware course in Digital Logic Design (CSE231), which unlocks Computer Architecture with Assembly (CSE332).
In NSU’s current trimester system (I’ll update this blog post if it changes), I’d suggest taking only CSE225 in the first semester of your second year. Do the rest to your own liking.
Word of advice? Don’t stress about CSE225. It really isn’t as hard as people make it out to be. It’s the hardware courses that are generally more (subjectively) boring and harder to learn.
❸ Third year’s got even more courses. And this is where things get fun.
Right off the bat, take on your Junior Capstone Project (CSE299) and finish it (Provided you’ve already completed 60 credits). It’s laid back, easy, and fun, with weekly project updates determining your entire grade. Along with it, I’d suggest picking Operating Systems (CSE323).
You can do the rest to your liking, but try to save Design and Analysis of Algorithms (CSE373) for a semester where it’s the only CSE course you’ll take. It is a bit more challenging than other courses.
❹ Final Year. This is it.
Home stretch, you’re almost there. This year presents the most interesting bunch of courses you can take. Before we get to those, make sure you’ve completed Concepts of a Programming Language (CSE425), and your Senior Capstone Project (CSE499A+B, needed to be taken in back-to-back semesters).
Now, NSU offers what are called “Trail Courses”, so you can specialize in a specific field of Computer Science according to your interest. For example, the AI Trail (which is what I’m studying), offers 8 courses to choose from. Software Engineering offers 6, and so on and so forth (official list here).
There’s a catch though. You can only pick 2 Electives from a single trail. I know it’s stupid, but there is a loophole. You see, every undergradute degree in NSU offers what is called an ‘Open Elective’, where you can pick any course you want. What people usually do, is they make the Open Elective that third course they want from the trail they’re studying (though it’s perfectly fine if you want to go the usual route). What happens to the Third Elective, then?
Well, there’s this one course, called Theory of Computation (CSE273), which, for some absurd reason, is not mandatory for completing your degree. I must emphasize, not completing this degree WILL cause major problems as you apply to Universities abroad for post-graduate studies. Which is why, it’s a given that one of your electives have to be sacrificed to take this course.
Hopefully NSU’s next iteration of course plan fixes this issue.
Now that all the planning’s been taken care of, there’s one more thing you need to be aware of.
📚 Your Study Plan:
Between each semester, in your break, LEARN THE PROGRAMMING LANGUAGE YOU WILL USE IN THE UPCOMING COURSE.
No matter how little, I cannot emphasize the importance of utilizing your semester breaks as an oppotunity to study a bit and get ahead, as doing this is a surefire way to get straight A-s.
And finally, please, please, please pleasepleaseplease get familiar with the CLI (command line interface, it’s the fancy terminals you see “hackers” using in movies all the time) and start using Version Control tools (like git and GitHub) ASAP. The sooner you begin, the more familiar you get, and the more records you get to show of your work. Version Control is an ESSENTIAL tool used in EVERY SINGLE programming job in the world. Being comfortable with it early on really pays off in the long run.
I know it’s simple,
but follow these steps, and you’ve got the recipe for an easy degree, with a decent CGPA. Of course, I have not mentioned other important courses outside CS (such as the EEE and MAT courses), but you can choose them as you like, it does not really matter.
💫 And that’s it!
Have fun fighting for your life during each semester’s Advising, remember to take showers (especially because you’re studying CS), and keep flexing your Git commit history on your friends like there’s no tomorrow.
🎙️ Do you have any more useful advice?
💬 Share it in the comments!
📲 Keep up with the blog for more useful tips and updates!
I’m currently a senior in North South University, and you can contact me if you need any further help!