COS126 Information
COS126 Information For Students and Advisors:
This page is intended for students (and their advisors) interested in taking COS126 to understand the different components of the course during registration for the upcoming term.
Who should take this course?
- Anyone who is interested in the field, regardless of their background. More than half of Princeton students, representing every concentration on campus, have taken the course in recent years. Many students with no background in programming or computer science enjoy this course (and some of them subsequently become majors).
- Students with a substantial background in computer science (e.g., took AP CS in high school) take a placement exam to pass over this course and go directly into COS217 or COS226. See Prerequisites for information about these courses.
Organization:
- This course has several components:
- Video lectures - self-paced.
- Two precepts/week, either 50 minutes or 80 minutes (student choice).
- One 80-minute in-person class meeting (listed as C01) used for
- Exams - required
- Guidelines for assignments, practice exams, exam review, etc.
- Note - the class meeting will occur after video lectures and precepts for the week.
Which precept to choose?
- Students enrolling in COS126 are welcome to take any precept that is convenient for their schedule, regardless of their background.
- All precepts cover the same material.
- That said, this course covers a lot of ground in one semester, and some precepts are designed to cover the material at a more relaxed pace while others move more briskly.
- Here are the five “flavors” of precepts we’ll be offering:
- Less comfortable: 80-min extended time precepts (P11-P16)
- These precepts cover the same material as the 50-min precepts but at a more relaxed pace.
- Somewhat comfortable: 50-min Monday-Wednesday precepts (P01-P05)
- These precepts give students a bit more time in the week before exams and assignment due dates.
- More comfortable: 50-min Tuesday-Thursday precepts (P07-08A)
- These precepts are more likely to be composed of “more comfortable” students.
- P16A - Students who have some previous experience in Java and interest in learning topics beyond the scope of the course can read about a new precept being offered on Tuesday/Thursdays from 11 am - 12:20 pm (P16A*) below.
- P10 - Students who are interested in biology and medicine can read about a new precept being offered on Monday/Wednesday from 11 am - 12:20 pm (P10*) below.
- Students who aren't sure whether extended-time precepts are right for them should consider registering for a Monday-Wednesday 1:30 pm or 3:00 or 3:30 pm precept -- these time slots offer both regular and extended-time options (P03/P03A, P11; P05, P12/P12A) with some flexibility to switch between the two in the first few weeks.
What to expect in a typical week:
- Students are expected to watch the assigned video lecture before attending the associated precept
- Programming assignments (for the most part on a weekly basis) due on a Sunday evening
- A typical weekly cadence:
- Watch video lecture 1, then attend precept 1 (Monday or Tuesday)
- Watch video lecture 2, then attend precept 2 (Tuesday or Wednesday)
- Attend class meeting on Thursday (as needed)
- Submit programming assignment on Sunday
- This course offers abundant resources to help students along the way, including staff office hours, lab TAs, McGraw, etc.
Please email Kobi Kaplan kskaplan @princeton.edu if you have any questions.
*Information for precept P10 - Biomedical
COS 126 in Fall 2023 will offer a new biomedically-themed precept. The precept is intended for students who are interested in biology and medicine. Examples will be presented from relevant biomedical applications, scenarios and datasets. Therefore familiarity with or curiosity about fundamental concepts from biology is recommended (but no formal prerequisites). The overall COS 126 requirements for students enrolled in this precept will remain the same, and students will participate in the same lectures, assignments, projects, and exams as the rest of the class. All COS 126 material will be presented to participants of this precept at the same level as in other precepts, not more or less difficult.
Who should I contact if I have questions about this precept?
- Dr. Yuri Pritykin - pritykin @cs.princeton.edu
*Information for precept P16A - Raspberry Pi
We are offering a new type of precept for COS 126 for the Fall ’23 semester! This precept is intended for students who have some previous experience in Java and interest in learning topics beyond the scope of the course (for example, for students that have taken a Java AP class in high school), but not enough experience to place out of COS 126. This precept will explore the use of Java to program on the Raspberry Pi platform, a low cost, credit-card sized computer that utilizes a variety of sensors, displays, and actuators.
The overall requirements for COS 126 will stay the same—students enrolled in this precept will still have the same lectures, assignments/projects, and exams as students enrolled in our other precepts. However, approximately half of the precept schedule will be devoted to Raspberry Pi programming.
Enrollment in this precept is limited to thirteen (13) students.
How do I know if I have a sufficient background for this precept?
- In addition to having a previous experience in Java and interest in learning topics beyond the scope, you should have a maker spirit, meaning you should have the desire and interest to learn how to wire sensors, breadboards, etc.
What are the goals of this precept?
- Learn how to program and debug Java code on a Raspberry Pi.
- Programmatically control various sensors, such as LEDs, infrared beam sensors, environmental sensors (pressure, humidity, temperature), orientation sensors (accelerometer, 3D gyroscope, magnetometer), range finders, and cameras.
How are the precepts organized?
- The 126RPi (P16A) precepts are Tuesdays/Thursdays from 11:00am–12:20pm. Attendance is mandatory.
- About half of the precepts are devoted exclusively to Raspberry Pi development. The other half will cover the same content as our traditional 126 precepts.
- The Raspberry Pi precepts will NOT teach Java. Students are expected to still watch the lecture videos before precept. However, the Raspberry Pi precept exercises will not be directly related to the lecture content. Instead, precept exercises will focus on creating projects (in Java) on the Raspberry Pi.
- Students will be provided with a Raspberry Pi device, along with all necessary sensors and materials.
- Students must bring a modern laptop (Mac OS 11 or Windows 10) that supports Wi-Fi network connections.
- Students must work with a partner during each precept.
How do I enroll in P16A?
- First take the placement exam to assess your background
- You can enroll in P16A directly in TigerHub.
- Note - enrollment in this precept is limited. It is only available on Tu/Thu from 11 am - 12:20 pm.
Who should I contact if I have questions about this precept?
- Dr. Alan Kaplan - alan.kaplan @cs.princeton.edu