Skip to content
Jim edited this page Apr 17, 2024 · 429 revisions
! This website is an in-progress future version of CS136; it is NOT a record of a previous version of CS136.
                                           .___,      
                          _ _____  __   ___('v')___  
        (__)    ___ ___  / |___ / / /_  `"-\._./-"'  
`\------('')   / __/ __| | | |_ \| '_ \     ^ ^      
  ||    (oo)  | (__\__ \ | |___) | (_) |             
  ||w--||      \___|___/ |_|____/ \___/                                    

Jim Bern ???? 20??-?? @ Williams College

NOTES

Adding an answer to help anyone else with a similar problem. OSX+Catalina on JetBrains/PyCharm was having closing all tabs when I lost focus on the application. When I came back the "Synchronization" action happened (top right circle arrow spins) and all windows are reset (many closed as a result). My fix was to disable in the settings. Appearance & Behavior > System Settings > Disable everything under the "Synchronization" section. You may need to seek out other "sync" options in settings.

eclipse setup

Try Preferences > General > Workspace and select the Refresh using native hooks or polling check box.

TODO

  • duplicate and archive repo
  • touch typing proficiency
  • reading comprehension
  • flower beds for array list (emoji story for each)

Links

Tentative Calendar

  • Homework is released on Monday and is due on the following Monday, at 10 pm in Gradescope
  • Lectures are Monday, Wednesday, Friday in Wachenheim 114
    • Lecture Section 01: 9 - 9:50 am
    • Lecture Section 02: 10 - 10:50 am
  • Labs are in TCL 217
    • Lab Section 03: Wednesday, from 1 - 2:30 pm
    • Lab Section 04: Wednesday, from 2:30 - 4 pm
    • Lab Section 05: Thursday, from 1 - 2:30 pm
    • Lab Section 06: Thursday, from 2:30 - 4 pm
Week 👨‍🏫 Mon 🧙+👩‍🔬 Wed 👨‍🔬 Thu 🦉✨ Fri Slides (you may need to click the link and then refresh the page) Tutorial Homework HW Solutions
0 🇺🇸 🌞 🌞 Sep 08 hello Paging Dr. Java Text Adventure
1 11 13 14 15 built-in data types, operators, flow control, & scope (no tutorial)
Practice Exam
FUNdaMENTALs
2 18 20 21 22 arrays Some Array Problems Automata
3 25 27 28 29 functions & classes class Automaton1D Twin-Stick Shooter
4 Oct 02 04 05 06 array lists Array List Tutorial Flip Book
5 📚 ✏️ ✏️ 🏔 midterm review (no tutorial)
Practice Exam
✏️
6 16 18 19 20 stacks & queues Stack and Queue Tutorial PostScript Interpreter
7 23 25 26 27 maps Hash Map Tutorial Text Generator
8 30 Nov 01 02 03 linked lists Linked Lists
9 06 08 09 10 trees Tree Tutorial Trie
10 13 15 16 17 search and sort Search & Sort
11 20 🦃 🦃 🦃 graphs 🦃 🦃
12 27 29 30 01 recursion & dynamic programing Grid-Based Games in Cow.java Recursion
13 Dec 04 06 07 08 advanced Java Review Final Project
Practice Final
(available now!)
  • 👨‍🏫 Lecture (I'll introduce the major facts for the week)
  • 🧙 Tutorial (Bring your laptop; we'll code together in groups)
  • 👨‍🔬 Lab (Work on the homework)
  • 🦉✨ Kahoot! and Advanced Topics
  • 🏔 Mountain Day?
  • ✏️ No Class; No Lab (Evening Midterm)
  • 🌞📚🦃 No Class (Holiday)

Syllabus

What to Expect

  • The lectures will cover key points and thought-provoking examples. We may even Kahoot! 🦉

  • The homework will involve challenging programming in Java. The TA’s and I will be there to help you along the way.

  • The exams will test your grasp of the homework, practice exam, and lectures.

  • Your final grade will be:

    • 50% Homework
    • 25% Midterm
    • 25% Final

Homework

  • You are highly encouraged to collaborate on all homework provided you follow the spirit of the 50 ft rule.

  • You may use Google, StackOverflow, GeeksforGeeks, ChatGPT, etc. However, the 50ft rule applies. You are NOT allowed to copy and paste (or transcribe) code from any source or person (unless the code came from me 🙂👍). To make sure you're prepared for the exam, I recommend primarily relying on our official course Documentation.

  • Homework is graded on these axes:

    • Correctness: Is the output correct?
    • Clarity
      • Is indentation reasonable and consistent?
      • Are variable names reasonable and consistent?
      • Are especially tricky bits of code explained with comments?
      • Is repeated code pulled out into loops or functions?
      • Is data that tends to be passed around together pulled out into classes?
  • Homework is generally graded on this scale:

    • A (95): Homework that is complete, correct, and reasonably clear.
    • B (85): Homework with some incompleteness, some incorrectness, or major clarity issues.
    • C (75): Homework with major incompleteness, major incorrectness, or extreme clarity issues.
    • D (65): Homework that does not compile.
    • S (A+): A-tier homework that goes above and beyond (either by completing a challenging extra credit question or by pushing the regular assignment further than anticipated)

Exams

  • The midterm and final exams will be in-person, on-paper exams with no notes permitted.
    • The final is scheduled will be Wednesday, December 13, 9:30 am.
    • A practice exam is linked on the course home page. You are encouraged to complete it as we go.

Honor Code

  • Solutions to assignments should not be posted in any public forum, including public GitHub repositories. Students taking our courses should not be looking for solutions, but tempting them by making solutions available is inappropriate. This applies not just to the semester you are taking the course, but to the future as well.

Resources

Inclusivity

  • Williams College values an inclusive environment, and so do I. In this class, we welcome anyone regardless of age, background, beliefs, ethnicity, gender, gender identity, gender expression, national origin, religious affiliation, sexual orientation, and other visible and non visible categories. I am available to address any questions or concerns in person or over email.

Health and Accessibility Resources

  • 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 oaestaff@williams.edu.