Another random post on school — Spring 2023
This spring semester, I’m taking Discrete Mathematics and Data Structures and Algorithms + Software Design. Wrapped up my first semester…
MCIT — Spring 2023 — Fall 2023 Review
Wrapped up all 6 core courses in the program. Felt like I learned a good amount but I definitely do not feel ready to be a full-time SWE
CIT 591: Intro to Software Development
Overall: 8.5/10, Fall 2022
The course is a mix of Python and Java, with the first half being Python while the latter half in Java. I found the course material lectures to be average, as I often used other resources when I had questions. However, I think where this course really shines are the assignments and the TA support.
The assignments were pretty fun. Some notable assignments were Tower Blaster (in Python), Battleship (in Java), and a School Management System (in Java). The assignments are all pretty fun and challenging, especially the last two in Java. I particularly loved the School Management System assignment since we had no starter code and had to build everything from scratch. It was good Java practice for me and was my highest scored assignment
TAs are very good in this course. A lot of support for any student’s questions and the explanations by the TAs are extremely clear. Grading is pretty lenient in this course and I felt like the staff really wanted the students to succeed
Final grade : A+
Edit : I am now also a TA for this course haha
CIT 592: Discrete Mathematics
Overall : 5.5/10, Spring 2023
Brutal course in terms of teaching style and materials covered. The professor is not great and the lectures are a mess. The course is broken down into 3 parts : Proofs/Sets/Functions, Probability, and Graph Theory. The course is also extremely proof-heavy : once proofs are introduced, they are used in everything in the course.
The homeworks are extremely tough. However, the TA support has been terrific and the TAs all work very hard to answer the questions students post and they really want the students to succeed. TAs host exam review sessions and host weekly recitations
I watched a lot of MIT lectures on probability. Probably one of the best lectures on Youtube and all of college to be honest. The professor is extremely engaging and even someone like me, who has a hard time focusing, found the lectures interesting. His videos helped me score way above average for the probability midterm
I actually enjoy the material and found it to be pretty interesting (esp. Probability + Graph Theory) but the way the course is conducted and taught makes me dislike it
Lastly, most students had pretty poor homework grades in the beginning but it slowly went up. However, exam averages were often pretty bad so ultimately there was a huge curve at the end of the semester
Final grade : B+
CIT 593: Introduction to Computer Systems
Overall : 8/10, Summer 2023
Pretty straight forward course. It starts from low-level concepts such as bits and logic gates, then to coding in Assembly, then to C. I didn’t really enjoy any of these contents and just felt like I had to finish it for my degree.
I found the early material with bits, logic gates, and transistors to be brutal. Homework assignments took forever to finish because there were a lot of questions and drawing transistors + logic gates took awhile.
TAs are pretty good and I would say they are on-par with my experience with CIT592 TAs, which were very good. Grading in the course is quite generous but there is a ton of material to cover. I found the latter half of the course, which covered C, to be much easier than the first half. The work load was also a lot lighter; I remember I spent hours on the first few homeworks because the sheer number of content in each homework
Final grade : A
CIT 594: Data Structures & Algorithms and Software Design
Overall: 7/10, Spring 2023
Pretty easy course for DSA. It does not cover enough material to be a good DSA course but the course also covers software design concepts. I reviewed Berkley’s CS61B and that course is way tougher. I only watched lecture videos when the course started covering design concepts which were in the last 3 weeks or so. The course felt like I was taking a udemy course or a community college course
The final project was cool. We had to work with a partner and fortunately for me my partner was good. The project took a lot of time but it was fun building it in Java
TAs for this course were ok. I had Professor Nan teaching and her office hours are very helpful. Shes patient and tries her best for students to succeed.
The final was tough though. It covered everything throughout the course and the class average was < 75 which ultimately resulted in a curve on the exam
Final grade : A
Will be a TA for this class in Spring 2024 !
CIT 595: Operating Systems
Overall: 8/10, Fall 2023
Overall a pretty chill class in Operating Systems. Lectures covered abstract topics but they were quite interesting and I actually found some of the concepts useful (i.e deadlocks occur when resource dependencies are stuck in a cycle. This can be detected via cycle detection in graphs)
All projects are in C and were conceptually vague and took me about much longer than average (probably also because I suck at C). Some tasks involved coding up a shell then expanding it to take in commands with pipes, or building out a TCP 3-way handshake between the client and server, socket programming, and async event programming
Exams are all open notes so the course is relatively on the easier side in terms of workload, but conceptually it was harder than other courses. TAs for the class were very helpful
Final grade : A
CIT 596: Algorithms and Computation
Overall: 3/10, Fall 2023
Probably the worst class up there with CIT592. Proof heavy class on algorithms, although the policy is not as strict as it was in CIT592.
Lecture qualities are atrocious. I had to rely heavily on external resources. I practically never watched any lectures after week 5. This worked for me since I was familiar with majority of the concepts in the first 9 weeks (Binary Search, Divide and Conquer, Merge sort, Quick sort, QuickSelect, BFS/DFS, Greedy Algorithms, MST, Graph greedy algos, and DP), although even being familiar and solving LC meds on these problems weren’t that helpful since some homework and exam problems were leetcode med/hards. I enjoy solving LC problems (all in Java, but plan on switching to Swift) but this course took the joy out of me
The course spent 1 week teaching DP. This is insane considering even MIT has like multiple 1-hour lectures on DP. I had to spend a lot of time on my own understanding DP through Striver’s DP playlist
After week 9 (which is after exam 2) I was so lost. The concepts covered flow networks (interesting and pretty useful), linear programming, and NP/P/Reductions. At this point nothing made sense and I was just hoping to float through and pass. Even using external resources made no sense. Lucky for me, they graded my final generously and I managed to make it
The TAs for this class felt like they worked every other week except for the head TA, Gary. He responded to almost every post by a student with a clear and well thought-out response. He also hosted amazing exam review sessions, indicating he clearly knew what he was talking about
Final grade : B
메타데이터
- post_id
- 271c9bcd12c8
- slug
- another-random-post-on-school-spring-2023-271c9bcd12c8
- url
- https://medium.com/@keinn/another-random-post-on-school-spring-2023-271c9bcd12c8
- canonical_url
- https://medium.com/@keinn/another-random-post-on-school-spring-2023-271c9bcd12c8
- author_url
- https://medium.com/@keinn
- status
- ok
- fetched_at
- 2026-06-29 01:02:39