Skip to content

This is a reviewing project for undergraduate computer science courses

Notifications You must be signed in to change notification settings

xzhuah/Computer-Science

Repository files navigation

Computer-Science

Author: ZHU Xinyu

Start at 2017/12/17

This is a project for recapitulation of undergraduate computer science courses.

Project Purpose

After years of undergraduate study as a computer science student, we accumulated a large sum of knowledge of different topics. These knowledges are of great significance to our future career although they seem to be very basic, too general or even unrelated to our intended jobs. Many interview questions are based on them and some ideas behind them are worth appreciating and have the potential to inspire us when we are doing further study as a graduate or Ph.D. student.

However, these useful knowledges are unorganized, highly discrete and some of them have already been forgotten by us. Therefore, I decided to launch this project for recapitulation.

Roughly speaking, there are two main purposes. The first one is to review and refine what I have learn in Hong Kong University of Science and Technology. The second one, which is less important to me but also meaningful, is to show everybody the knowledge structure of an undergraduate computer science student. You can use it as a reference for review or a reference for preview.

Important and unimportant

The important thing here is correctness and understandability. It is impossible to list all details here, so I will only include things that worth memorizing. After finishing this project, I expect myself to own the ability to at tell a “story” for every topic included to explain it. I expect myself to be able to do complex projects related to these topics and can do further research in some specific areas. Hopefully, in addition to plain text explanation, I will also do some code work.

What is unimportant or say, less important here is about language. I am not a native English speaker and my mother language is mandarin. I may made some tyro, grammar mistakes, chinglish and so on but I will try my best to make sure that what I write is understandable. I may occasionally use Chinese in this project in order to better explain some ideas.

Selected Topics

  1. Computer Organization (COMP 2611)
  2. Discrete Mathematical Tools for Computer Science (COMP 2711)
  3. Algorithm and Data Structure (COMP 3711H & COMP 2012H)
  4. Software engineering (COMP 3111H)
  5. Database (COMP 3311)
  6. Operating System (COMP 3511)
  7. Machine Learning (COMP 4211)
  8. Information retrieval system (COMP 4321)
  9. Image Processing (COMP 4421)
  10. Computer Graphics (COMP 4411)
  11. Deep Learning for Computer Vision (COMP 4901J)

I studied Operating System and Computer Graphics when I exchanged to University of California, San Diego so the summary for these two topics will be based on course material in UCSD

Study Plan

I will make use of my free time to finish this big project and I expect to finish it in the summer of 2018. In other word, I will spend about 8 months on these 11 topics.

I plan to focus on 1 to 2 topics every month:

  • 2017 Dec: 5
  • 2018 Jan: 5, 3
  • 2018 Feb: 3, 7
  • 208 Mar: 8
  • 2018 Apr: 4
  • 2018 May: 9, 10
  • 2018 Jun: 10, 11
  • 2018 Jul: 1, 6
  • 2018 Aug: 6, 2

When I say focus, I mean I would spend most of the project time on these 1 to 2 topics, I will still spend some time reviewing topics other then these 1 to 2.

I decided to challenge myself by setting a tough study schedule. From now (2017/12/17) on, I will try to study/work for 100 hours every week. 14.5 hours for studying and working per day. 6.5 hours for sleeping. 2 hours for eating. 1 hour for waling and relaxation. I understand no pay no gain. To succeed you need to do things you are not willing to do.

Ladies and gentlemen, let's Improve together!

Tools Used

In order to improve my working efficiency, I will make use of different kind of tools to achieve specific tasks. Here I will maintain a list of those excellent tools here and hope that will help you too.

  1. MarkdownPad 2: An editor for Markdown language. I used it to edit most of the .md files
  2. Study_monitor: a simple program helps you record study time and make study plan and summary.
  3. 百度脑图: an online website helps you to make tree diagram to summerize knowledge
  4. Imgur: a free online public image storage center. You can upload your image there and make it public.
  5. draw.io: a free online diagram editing tool. You can create your diagrams with it easily

Bitcoin donations

3LDCkUA9hyMgqX5c8FJY4EVy1Mpem4Vjf4

About

This is a reviewing project for undergraduate computer science courses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages