Skip to content

CS124

CS124 (Introduction to Computer Science I) is the first class in the CS core curriculum, and covers basic programming that many students are already familiar with.

Who Should Take the Exam

If you have programming background at least at the level of AP Computer Science A or IB Computer Science SL, then you should consider taking the proficiency exam for CS124. CS students typically complete CS124 in their first semester, and CS124 is a prerequisite for all other CS courses, so getting credit early can open up more opportunities sooner. It can also make for a lighter first year by enabling you to split CS128 (Introduction to Computer Programming II) and CS173 (Discrete Structures) over your first two semesters. However, if you do not plan on rushing to a specific class or graduating in under three years, then taking CS124 your first semester may be a good option, even if you have programming background: many students find the course relatively light, meaning you'll probably have more time to acclimate to college, make friends, and join RSOs.

You can still take CS124 even if you pass the proficiency exam, and there is no penalty for failing the proficiency exam, so if you are unsure whether you want to take CS124, you should take the proficiency exam.

Content Covered

CS124's Proficiency Website contains a comprehensive list of topics covered. Students can expect to be tested on fundamental programming concepts, including:

  • Arrays
  • Linked lists
  • Hashmaps
  • Sorting
  • Runtime of sorting algorithms
  • Exception handling
  • Control flow such as loops and if statements
  • Design of simple classes

Exam Format

The exam consists of mostly multiple choice questions with a few medium-length programming questions. All questions use the Java language, although CS124 gives students the option to use either Java or Kotlin during the semester. The exam does not test Android programming, although this is covered during the semester.

How to Prepare

The CS124 proficiency exam expects programming abilities at the level of AP Computer Science A. If you've taken this course or something similar, you probably do not need to prepare much. If you haven't, the CS124 material is publicly available and is the best resource to learn required material.

Many students have found that it is beneficial to memorize the runtime and implementation for quick sort, merge sort, and insertion sort. These are one of the only more advanced topics covered in CS124 that's not part of AP Computer Science A, so you can expect questions about these to appear on the exam.

The CS124 Proficiency Website contains instructions on how to access the official practice exam.

Life After

If you pass the CS124 proficiency exam, you can continue to taking CS128 and CS173, or still choose to take CS124. If you are not fully confident in your programming abilities, or want a more relaxed first semester (with the option to learn Kotlin and Android development), you should consider staying in CS124 even if you pass the proficiency exam.