Nandana Sheri

Inside Scoop on UIC Courses

July 19, 2025

One of the reasons I enjoyed my time at UIC is because of the classes I took. Over the course of four years, I think there was only one CS class where I actually felt like was a waste of my time (predominantly because of the course structure and partially because of the content).

WiCS hosts an Inside Scoop every semester which was course advice with ice cream and it used to be one of my favorite events since we always had a big turnout, I got to annoy my seniors with questions and I got ice cream out of it. So while it’s all still fresh in my head I decided to write a little post on some classes at UIC that taught me the most.

These may/may not be my favorite but sometimes it’s not the classes you like that teach you the most.

For reference - here are all the courses I took at UIC ever and I highly recommend creating a plan like this.

1. CS141: Program Design I

This was one of my favorite required electives because I think it single handedly changed the way I thought about code. I took with Professor Ellen Kidane, administered by Professor Dale Reed in Fall 2021 (pre-ChatGPT). This class doesn’t start with print statements in C++. It throws you in the deep end and that’s why it’s challenging. But the projects made me think and create algorithms in a way I had never before. I struggled in the beginning knowing absolutely nothing in C++ but learning about a few data structures, understanding pointers, spending hours debugging to realize I forgot to pass by reference - 141 transformed the way I think. This isn’t a spiel to take the class because you have to but moreso to let yourself learn, make mistakes and figure it out without AI at least sometimes. 141 is too early to build up a dependence on AI but I’ll probably write about that later. (Fun fact : since i was so used to coding on paper in highschool - I wrote and debugged my first CS141 project on paper)

2. CS484: Secure Web Application Development

I learnt a lot about the ‘why’ of software engineering through this class. Why React? Do you need React? What’s CommonJS? What is a CORS error? Are my apps safe from SQL Injection? Professor Chris Kanich releases all readings to public via the course website and though the security aspect of this class can be quite a lot if you haven’t had previous exposure, I always left class knowing so many more concepts about software engineering. It’s also a great class to work on a full stack project idea. Exams are hard but I respect them because they always made me think beyond just the material.

3. CS261: Machine Organization

I loved learning about the stack. I remember thinking it was witchcraft because I lived in complete ignorance of low level programming. The best things I learnt was through weekly homeworks and through class and to be completely honest I don’t remember much from there because it’s not an area I have since worked in. However, I think students tend to dislike this class because it’s not ‘coding’ but really try to get yourself to understand the material - do a lot a lot of problems by hand and it becomes really fascinating.

4. CS440: Software Engineering I

So I like full stack. And I really liked project based classes. 440 was the first time I had worked on a full stack project start to finish. One of the main reasons I loved this class as much as I did was because it gave me accountability to actually build something. I also got really really lucky with my team so choose wisely. I learnt a lot from my teammates about design, iterative development, version control, but the number 1 thing I learnt that Spring was CSS. I always wished I had taken the next class CS442 as well but I didn’t want to do it without my team.

5. Gen Eds/ Free Electives

I am an international student and so every credit is expensive. I tried to pick free electives I actually enjoyed and here are some I definitely recommend:

  • LING150 and LING220 : Absolute favorites if you are interested in langugage - never missed a class.
  • ART 151 : If you stop worrying about your grade it’s about Creative Coding and you learn about animations
  • CL 103 : A difficult class but if you enjoy Ancient Rome/ Egyptian history it was very fascinating
  • KN150 : Fun assignments, you do a lot of journaling and introspection - learnt a lot about myself through this class.

Almost every class I’ve taken, I’ve enjoyed something from it and I think that’s when you know you’re in the right field

(or my bar to be amused is very low).


built by Nandana Sheri