My Advice for New Students in Computer Science

A few people have reached out to me, asking for my advice for new students thinking about going into computer science.

So, here it is!

About Me

Hi! I’m Kushal, currently a 4th year computer science student, studying at the Rochester Institute of Technology and I’ve been scripting Roblox games and writing code since 2016.

I’ll start this article about my advice for new students in computer science talking about my story and how I learned to code. Then, I’ll show you how specific aspects of my story helped in landing internship roles. And finally, I’ll give you some advice about what you can do in each year of your college.

My advice is mainly for new students in computer science, but it applies to you even if you’re a high school student thinking about getting into computer science.

Let’s begin!

Learning to Code

Since I was a little kid, about 11 years old, I was playing dragon ball games on Roblox.

There were a lot of transformations in the game (as dragon ball has a lot of transformations), but in particular, there was a custom overpowered transformation that they made, which they called “MLG Supreme Being.”

To unlock this transformation in the game, one had to grind for at least 5 years, by my estimates.

But to show the transformation off, the owner of the dragon ball game created a place where you can test it. A video is attached below.

When I saw this transformation, my 12 year old self was in awe.

It had so many cool effects and made me feel like the most powerful character in the game. Whenever you clicked, it had some fiery attack as well.

In the dragon ball game, I had met a lot of people online as I played, and there was one person in particular who had already known how to script.

And that person ended up making his own rendition of this above transformation… not once, but 3 times!

Every single one captivated me like no other.

Unfortunately, the videos of those remakes of the transformations were removed from YouTube many years ago.

But that didn’t change my story..

A deep desire filled me: I wanted to create a spectacular transformation like that, no matter what it took.

My 5th Grade English Notebook Story

In 5th grade, we had an English notebook, where we were prompted to write summaries of a book that we’d read before.

But all I could ever think about was scripting in Roblox and creating transformations. I remember that I had read so much code that others had written that I began piecing things together like if statements.

In my journal, I’d write if message is "ssj" then, transform end end end end end.

As you can see, I didn’t understand why there were ends in Lua, but I would spam them in the end of my notebook to seem like I was a coder. My identity had evolved into becoming someone that can write code / script.

But, eventually, I made a habit to learn Roblox Lua, by learning from an online book from 8pm-9pm, and using what I had learned the next day.

The online book that I used to learn Lua is unfortunately no longer available. But you can get a copy of my new scripting book here.

The Mathematics

I started with scripting Dragon Ball games and then went into Pokemon, before creating a blend of existing games, like BattleMania (which drew inspiration from the popular steam game, Totally Accurate Battle Simulator)

But as I was learning how to script, I found that those who knew mathematics better than me had a significant advantage.

For starters, in reading code written by others, I saw that whenever they wanted to create something really awesome, like a brick that circles your character, they’d pull out math.sin and math.cos out of nowhere.. it was trigonometry!

As you can imagine, poor 11 year old me didn’t know what this kind of math was, but I really wanted to learn it, because a lot of open source transformations ended up using trigonometry.

So, I ended up learning a lot of it on my own.

I learned about cosines and sines using AxisAngle’s great video:

I actually became so obsessed with trigonometry as a field that the desire to learn it persisted all the way throughout high school.

By 10th grade, I had learned how to use sines and cosines to create rainbow gradient text.

And during my first semester of college, I took calculus 1.

And a few semesters later, I finished discrete mathematics with an A-, calculus 3 with an A, linear algebra with an A-, and calculus based statistics with a B.

The Big Takeaway

From my story, the big idea here is that you need to find something that interests you in computer science so much that you literally obsess about it.

For me, it was that transformation. It was so awesome that it made me want to code more than anything else.

For you, maybe you’re really into image recognition and you really want to learn how a computer can recognize images.

Or maybe you’re into making LED lights turn on.

Whatever it may be, find it, and you’ll instantly have a lot of motivation to learn coding.

Remember the “What ifs” we used to ask as a kid? One of my “What ifs” was “What if I scripted a transformation that gave my character an aura, and had cubes spinning around me? What would it look like? Close your eyes, and imagine your ‘What if’. Then, begin coding. Make it happen.

Your First Year

Your First Year should be spent figuring out your “What if”, as it will help you to continue studying computer science even if you’re bored.

To find your what if, just think about what might be interesting to code.

Aim to try different programming languages and to make simple programs. The stuff you make doesn’t have to be useful. Just make something you’re interested in. For me, that was a transformation.

I took a lot of inspiration from existing works. I saw what others made and tried to make my own version of it.

And after I knew enough about scripting to make transformations, I just thought of a different “what if” and made a dragon ball z type attack. Sure, it was really basic, but it was something to start out with.

So, spend your first year trying to figure out your “what if” and work towards it.

Your Second Year

At this point, you’ve established your “what if” and you should try to build more things around it.

For example, instead of just making transformations, I branched out and worked on other things, like character customization systems, flying mechanics, GUIs.

Even though my original “what if” was “what if I could code a transformation”, why stop there?

A game with a transformation is okay, but for it to really be a game, there has to be some sort of game loop, maybe some UI design, some statistics, some attacks. So I coded it all.

So, make things around your original “what if” that go well together.

For example, if your “what if” is creating image recognition systems to classify a dog and a cat, maybe now, you’ll try creating image recognition systems to count how many fingers a hand is holding up.

The most important part is to have some sort of side project that you’re passionate about. It will come in handy for a future internship, which is working full-time temporarily in order to gain experience.

In order to get into one, you’ll need lots of side projects, which is why you should spend your first and second years on your side projects (working on your “what ifs”).

Applying For Internships

My university requires a spring, fall, and summer semester of co-ops (internship experience) related to computer science. All internships have to be full-time and paid for in order to count.

There are lots of ways to apply for jobs (online, LinkedIn reachout, career fair, etc.)

In this post, I’ll be covering the career fair in particular.

The Career Fair – Preparations

My university has a career fair once each semester. A career fair is basically an event where hundreds of employers come to find students to hire. It’s a great opportunity for students to apply for internships.

My first one was in the Fall of 2024.

Before enrolling in a co-op program (internship), students at my university had to take a special kind of class designed to prepare you for the job searching process.

Computer science is an area of study in university where employers care about a lot more than your grades; they care about your side projects and your problem solving ability (how well you can find solutions to problems in LeetCode) as well.

Thus, obtaining a computer-science internship is no easy endeavor.

Now, a week before the career fair, I began preparing.

Researching the Company

Suppose that person A shook my hand, introduced himself, and began talking to me about taxes for 2 minutes.

And suppose that person B shook my hand, introduced himself, and began talking to me about update ideas for my Roblox game, BattleMania.

Who would I choose to pay attention to the most?

Person B of course! They have already captured my attention by talking to me about the thing that I’m interested in. Not only that, but they have done their homework and have understood my background in game development and have put forth suggestions in how I can improve my game.

And at the end of the day, after I’ve talked to 100s of people, who do you think I’ll remember the most?

Person B.

Use this same logic when you’re thinking about how to prepare for a career fair.

Do your research on the companies you’re interested in. Figure out what programming languages they use and be prepared to show off your programming projects in those languages.

If a recruiter works for a software company that specializes in React JS, then you should already know that ahead of time, and you should be ready to talk about all of your experience with it.

My university had a list of employers that would be visiting the career fair. I found a few ones that seemed interesting to work for and immediately began researching them. I used ChatGPT and Google to figure out what they do and what kinds of programming languages they might use.

And then, out of my past projects, I looked for the ones that aligned with their programming languages and made sure to talk about them.

The Elevator Pitch

I wrote up and memorized an elevator pitch, which is essentially a 45 second summary about yourself and why the company should hire you.

Here’s the exact elevator pitch I used to help you:

“Hi, how are you? I hope you’re doing well.

My name is Kushal, and I’m currently a 4th-year Computer Science student pursuing my bachelor’s degree. Over the past 8 years, I’ve been developing games on Roblox using Lua, while also sharing my knowledge through my YouTube channel, where I’ve taught over 800,000 viewers how to code Roblox games. My most recent project, BattleMania, has garnered over 1.2 million plays globally.

I’m really interested in your company because __________, and I would love to learn more about potential co-op opportunities for the spring. I’ve already submitted my application for the internship position, and I’d greatly appreciate the chance to discuss how my experience and skills align with the role.”

I’ve broken this down into a bunch of problem-solutions for you:

Problem: Employers are usually standing for a very long time, listening to many many elevator pitches.

Solution: I started with a “Hi, how are you?” to give them a breath of fresh air before having to listen to another elevator pitch.

Problem: Generally, people have short attention spans nowadays, and some recruiters may stop listening about you if you ramble to much.

Solution: The elevator pitch is short, and I began with my most impressive achievements (800,000 viewers, 1.2 million plays). The moment they begin hearing numbers, they are more likely to pay attention.

Problem: They don’t know why you’re contacting them.

Solution: “I would love to learn more about potential co-op opportunities for the spring” shows that you are interested in learning more about what they might have in stock for you.


So, you’re going to want to take the elevator pitch, and rewrite it to support your accomplishments. You’ll also want this memorized, so that you can say it as you’re shaking their hands. Remember that this is just a brief introduction of who you are and how you may be able to help them.

The Interview Process

After the initial meet, some employers will invite you for an interview, where they may ask you some technical questions and behavioral questions.

Technical Interview Questions

Here’s an example of a technical question: “What is a decorator function in Python?”

For technical questions, as long as you make lots of fun passion projects and have a good grasp of coding in general, you should be fine.

There are also problem-solving type questions, like “Write a Python function to reverse a list” or “Write a Python function that sorts this list of numbers.”

Now, how can you prepare for these types of questions?

I’d recommend using something like LeetCode or NeetCode.

These platforms are designed to give you tons of those types of problem-solving questions and have you attempt them. If you solve tons, you should be fine for the problem-solving part as well.

Note that even if you have a lot of experience coding your own personal projects, these problem-solving type questions are geared towards how well you can think critically.

So, coding a lot isn’t necessarily the best tip in order to get past the problem-solving questions. Using LeetCode or NeetCode will help a lot.

Behavioral Questions

Behavioral style interview questions are asked in order to evaluate you as a person and to deduce what kinds of steps you might take if you ran into some difficulties while on the job.

Here’s an example of a behavioral question: “What was one project where you struggled? How did you get past it?”

For these, you can just cite projects you’ve done in class before with groupmates and talk to them as if you’re telling a story.

For example, you can say: “Oh yeah, I remember when I worked on project X with 2 friends. We really messed up the code because of <insert detail here>. <Talk more about that detail>. And at the end, everything went fine and we got an A because of <something you did to save the day>.”

Because of my “what if” from earlier, I had a lot to say about how I began coding. Remember that if you’re excited about your story, interviewers will catch that and see how passionate you are. Talk about why you began coding in the first place (your what ifs).

In my case, I had a lot of stories to tell because of my experience developing Roblox games.

“Do side projects. Ask “what ifs”. You’ll have tons of stories to tell.”

If you’d like some more information about preparing for internships and resume advice, please send me an email at kushal@kushaltimsina.com. I’ll write a separate advice for new students in computer science article on that.

Your Third Year

By this point, you’ll have taken lots of math courses and you may have even begun thinking about more advanced concepts, such as machine learning.

You may have tried to find shortcuts in university and in your classes (i.e skipping classes and learning everything all at once, procrastinating on things you don’t care much about, etc.)

Data Structures

During this year, focus on understanding the concepts you may not know as much to a deeper level. In particular, focus on understanding the underlying data structures and algorithms used in computer science.

Use NeetCode and LeetCode in order to achieve this.

For example, for your Data Structures class, you may have gone by just cramming for every test. But in technical interviews, they will expect you to know all of this information down to a tee. You’ll need to know how to do basic things like reversing a linked list, and may be asked to do more complicated things with data structures.

In order to be successful in this regard, make sure to study data structures and algorithms. These are important for interviews.

A part of my advice for new students in computer science is to begin leetcode as early as you begin data structure and algorithm problems.

Use this website to obtain this roadmap and begin going through the practice problems.

This is primarily geared towards helping new students in computer science tackle problem-solving technical questions.

Your Fourth Year

At this point, just focus on landing internships and figuring out what part of computer science interests you the most and go for it. Study to your heart’s content and never stop learning.

Hopefully you can take some of my advice for new students in computer science and apply it to your daily life.

You got this!

Want some more advice for new students in computer science?

Check out this article I wrote about how learning Roblox scripting led me to a career in software development.

kushal Avatar

About the author

Subscribe to Kushal Writes

Awesome tips for game development, computer science, and life lessons to help you succeed — straight to your email for FREE!

Join 50+ readers

    By submitting this form, you’ll be signed up to my free newsletter. You can unsubscribe at any time.

    Learn Roblox Scripting

    Get the Beginner’s Guide to Roblox Scripting Book and learn Roblox scripting in an easy to understand way.



    Search Kushal Writes