Home - james-bern/CS136 GitHub Wiki
-
👷 Homework is released Monday and is due the following Monday, at 10 pm in Jim's email inbox: [email protected]
-
Subject Line:
CS136 HW<TWO_DIGIT_WEEK_NUMBER> <YOUR_FIRST_NAME> <YOUR_LAST_NAME>- For example,
CS136 HW07 ADA LOVELACE
- For example,
- Attachment: your HW .java file
- (No need to write anything in the email body; no need to include any screenshots, etc.)
-
Subject Line:
-
👨🏫 Lecture is Monday, Wednesday, Friday in Schow 030B
- Section 01: 9 - 9:50 am
- Section 02: 10 - 10:50 am
-
👩🔬 Lab is in TCL 217
- Section A: Wednesday, from 1 - 2:30 pm
- Section B: Wednesday, from 2:30 - 4 pm
| Week | Homework | Topics | 👨🏫 Mon | 👩🏫👩🔬 Wed | 🧑🏫 Fri | Tut |
|---|---|---|---|---|---|---|
| 00 | HelloJava | types & scope | 🌞 | 🌞 | Sep11 | Setup |
| 01 | TheCircle | operators, control flow & Cow.Java | Sep14 | Sep16 | Sep18 | |
| 02 | TextBox | arrays | Sep21 | Sep23 | Sep25 | |
| 03 | Gungeon | functions & classes | Sep28 | Sep30 | Oct02? | |
| 04 | Flipbook | array lists | Oct05 | Oct07 | Oct09? | XArrayList |
| 05 | PostScript | stacks & queues | 📚 | Oct14 | Oct16? | XStack&XQueue |
| 06 | midtermreview | Oct19 | Oct21 | Oct23 | ||
| 07 | TextGenerator | maps | Oct26 | Oct28 | Oct30 | XHashMap |
| 08 | LinkedLists | linked lists | Nov02 | Nov04 | Nov06 | |
| 09 | Trie | trees | Nov09 | Nov11 | Nov13 | Tree |
| 10 | Search & Sort | search & sort | Nov16 | Nov18 | Nov20 | |
| 11 | Recursion & Dynamic Programming | recursion & dynamic programming | Nov23 | 🦃 | 🦃 | |
| 12 | Nov30 | Dec02 | Dec04 | |||
| 13 | Dec07 | Dec09 | Dec11 |
I have structured the course so that you can learn without worrying about AI 🙂👍
- AI: No AI is allowed. This includes, but is not limited to, Google, VSCode, ChatGPT, Codex, Claude, Claude Code, Cursor, and Gemini.
- Internet: You may use a web browser to use this website. You may use Gmail to email me. No other websites are allowed. This includes, but is not limited to, Google, GeeksForGeeks, and StackOverflow.
- Other computer programs: In addition to your web browser, you may use DrJava to do your homework. No other computer programs are allowed.
- Your final grade is
- 40% homework interviews
- 25% midterm
- 25% final
- 10% free points (get these just by emailing me your homework)
- Your final grade may be curved, but only up (the curve cannot make your grade worse).
- The midterm and final are in-person, on-paper, proctored, no-notes.
- Every other homework is graded via a homework interview (oral exam).
-
You will have 5 interviews during the semester; you can drop your lowest scoring 1.
-
I will use a rubric.
-
The interview will be scored as
- high pass – all the points for your level, plus a sticker
- pass – all the points for your level
- low pass – 80
- fail – 50
-
You will only have access to the code you emailed me. (No notes, no Internet, etc.)
-
During each exam, I may have you make changes to the homework that you emailed me. You will code these changes live while I watch and take notes.
- For example, I might say "Right now your code draws a blue circle. Please make it red." You might then go to Line 74 and change
REDtoBLUE.
- For example, I might say "Right now your code draws a blue circle. Please make it red." You might then go to Line 74 and change
-
I may also ask you to explain parts of your code.
- For example, I might ask "Why does your code initialize
jto bearray.length - 1?" You might then say, "I want to iterate backwards, and length minus one is the index of the last element of the array."
- For example, I might ask "Why does your code initialize
-
I may also delete parts of your code and have you recreate them.
-
- All interviews / exams are meant to be straight-forward and unsurprising.
- This website has documentation and frequently asked questions
- You can go to TA help hours
- You can go to my office hours
- You can email me here: [email protected]
- Please follow this email format (I will not be offended by your brevity I swear; also please don't use AI to write your email):
-
Email Subject Line:
<PROBLEM> <EMOJI OF EMOTIONAL STATE> -
Email Body:
<SCREENSHOT_OF_PROBLEM> -
Attachment:
<YOUR .java HW FILE>
- You can collaborate with whoever you want, provided that you both follow the spirit of the 50 foot rule. You may not compare your and your friend's code line by line, read your code aloud while your friend transcribes it, etc.
Source: https://www.dna.caltech.edu/courses/cs191/50ft_policy.pdf
- I want this course to be accessible to all of you. I will teach Java and data structures from the ground up.
- I want you all to feel comfortable asking questions. I like answering questions.
Individual content tutoring is readily available for this class for free. Content tutoring is a resource for you to practice your knowledge of course material and ask questions of students who learned it recently. Find more information about individual tutoring at bit.ly/indivtutoring. Reach out to Madison Kelsey ([email protected]) with any questions.
Students with disabilities or disabling conditions who experience barriers in this course are encouraged to contact me to discuss options for access and full course participation. The Office of Accessible Education is also available to facilitate the removal of barriers and to ensure access and reasonable accommodations. Students with documented disabilities or disabling conditions of any kind who may need accommodations for this course or who have questions about appropriate resources are encouraged to contact the Office of Accessible Education at [email protected].