Original Source Here
My CS College Degree in 5 Minutes
Courses and projects I did during my bachelor’s
For those of you who have followed me for a while or if you are a friend of mine reading this, you might know that I am currently studying at the Hong Kong University of Science and Technology. After three years of effort, I am pleased to announce that I just graduated, with a Bachelor’s degree of Engineering in Computer Science!
Here, in this short post, I want to lay out the courses that I have taken and the projects I have done throughout my undergraduate. I want to share with you guys the course plan that I have gone with, to not only give you an idea about what a typical CS university curriculum is like but also share some of the courses I found interesting as well as a few projects I did. However, note that my pathway might differ from many other university students as I got transferred credits from high school where I did IB, so I didn’t have to take some introductory courses, like Introduction to Computer Science or Calculus I and II. It’s also the reason why I am able to graduate a year earlier.
Ok, so let’s start way back to my first year — Fall 2018, when I first entered university. In the fall semester, I took the following courses:
In the first semester, I mainly took math courses so that I will be able to take the higher-level CS courses that I am interested in during the later semesters, such as AI and Machine Learning. These math courses build up the basic foundation required for more advanced CS courses. In addition, C++ is also important to learn, since it’s one of the most powerful languages and runs very fast. My friends and I always agree that if you can learn C++ well, then you can most likely master any other language.
In my second semester, I took the OOP and Data Structures course, since it is a required course. The course uses C++ concepts taught in COMP2011. I also decided to take this time to choose the courses I am passionate about, ending up taking courses on Natural Language Processing and Computer Vision. By this time, I have already finished the prerequisites for these two courses. To be honest, these were two of my favorite courses during my entire undergraduate, and I really enjoyed studying about them and doing projects. For the NLP course, I did a research project on personality classification and personality-specific language generation using pre-trained language models, and for the CV course, I conducted research work on fashion trend prediction using generative adversarial networks with object localization. I have written an article about the CV project in a previous post, which can be visited here.
In the second year, I took the two major required courses and an elective. The Software Engineering course was quite useful since it teaches the basic principles behind modern software engineering, and we even built a tower defense game using Java and JavaFX. Algorithms is one of the most important topics in CS, so I took the chance to take the Honors level in order to learn more in-depth. When you go interview for a tech company in the future, they normally screen applicants via tech interview in the first round, so it is important to have a strong background in data structures and algorithms. I also attended the Human-Computer Interaction class because I was sort of interested in the various ways humans and computers interact with each other.
In my second semester of Year 2, I tried to take a required course and explored my interests by taking a multitude of electives. The course content of COMP2611 was a little dry but it was actually quite fun when we reconstructed the 2048 mobile game using the MIPS assembly language. COMP4211 was probably the course I learned the most as it covers all of the basic concepts in machine learning and the professor was excellent in teaching. At the end of the course, my teammate and I did a project on analyzing the performances of different word embeddings and transformers on fake news detection. In addition, COMP4321 was quite informative and useful as we built a functional search engine using Java, and COMP4332 teaches some advanced machine learning concepts, like graph neural networks.
I started off my final year by enrolling in the AI course that covers fundamental concepts like agents, search algorithms, markov-decision processes, knowledge representation, etc. I also commenced working on my senior thesis, which is on automatic movie generation using AI. I didn’t take many CS courses this semester, since I was busy with other common core and language courses for my graduation requirement.
In the final semester of my undergraduate, I mainly took the courses that I need in order to graduate. COMP1942 was a common core course that was actually extremely useful. It’s basically an introductory machine learning course that focuses on hands-on calculation of different concepts, e.g. association rule mining, clustering, classification, neural network, SVM, PCA, data warehouse, and web databases. I also took the Operating System course and Applied Statistics. Lastly, I finished my final report and also successfully defended my bachelor thesis!
Now that you know the courses I took during my undergraduate, hope that you can figure out yours! College is one of the most valuable moments in life to learn, so make sure to take your time to figure out what you are passionate about and the courses you want to take. In the next post, I will let you guys know where I am going next, so stay tuned! Feel free to browse my personal webpage if you want to know what other projects I did. See you guys soon~
Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot