Select a category to the left.



Light or dark? Choose how the site looks to you by clicking an image below.

Light Dark


Preferred Language

All content on is originally in UK English. However, if content exists in your preferred language, it will display as that instead. Feel free to choose that below. This will require a page refresh to take effect.


"" details

Domain Name:
Site Version: 3.0.1
Last Updated: 2019/08/18
Welcome to CS140! This class is named "Data Structures and Algorithms I". In this course, you will be going back to C++ (from your last class) and continue to learn more about it. Furthermore, you will also cover more about how to actually implement some of the features and algorithms of the STL library, and understand Data Structures (hence the course name).

This time around, I'm the head TA of the course. Each of you are assigned one of three lab sections, all of which I'm hosting. Each lab section is around two hours long. Depending on which section you are in, I'll be aided by another CS140 TA:
  • Section 1: No assistants. Yeah, no one wants to be here at 8 am.
  • Section 2: The graduate TA helping is Paula Fernanda Olaya Garcia.
  • Section 3: The undergraduate TA helping is Thomas Beard.

Office Hours:
Min H. Kao Building
Room 217

Monday: 9:00 - 12:00
This section will have links to guides or documentation that I write and find valuable for this course. Typically it's for common issues I notice among students. Check frequently!
Lab Sections
In lab, I may write various example programs on a projector or write concepts on the board. I archive every file from every lab session, and may put them up online (depending on the material). I do not post lab solutions.

Each module below will have tags that will let you to tell what content is in them. Here are the possible tags you may find:
Mini-guides on concepts that you will use in each lab.
Template code that is for the assignment is given.
There is a simulator to compare your code results to.
There are lab instructions, procedures, suggested development order, or hints.
There are files on for that module. These are "SIDE" files, which may be miscellaneous programs, notes, or board drawings. As such they may help you on the lab assignment, but they may not.
No guide available.
Just a heads up: Do not rely on me writing guides. I may write them... And I may not. I recommend taking notes just in case. There may not even be a lab guide. In that case, the module will be greyed out and unclickable.