Welcome to CSE 123: Introduction to Computer Programming III 🎉
What is this class? What will I learn?
Computing continues to play an ever-increasing role in today’s society. Having an understanding of computing is an essential skill for those in the 21st century; from working in industries more reliant on technology, using computational methods to further scientific understanding, or being an informed citizen in a world with technology all around us.
This course is a first course in computer programming focused on the basics of procedural programming in Java. It assumes students have not taken a previous programming course and do not have substantial other programming experience.
Students with previous experience are encouraged to consider CSE 122 or see the Allen School’s page on introductory courses.
This Week (at a glance)¶
Monday (05/11)
- Nothing!
Tuesday (05/12)
- 🧑🏫 Section 13: Binary Trees: Introduction
Wednesday (05/13)
- No PCM for today!
- 👥 Lesson 14: Binary Trees: Modification Meet in ARC 147 @ 12:30 (A lecture) or GUG 220 @ 3:30 (B lecture)
- 💻 P2 - Disaster Relief due @ 11:59PM PT.
Thursday (05/14)
- 🧑🏫 Section 14: Binary Trees: Modification
- 💻 P3 - Cornbear's Classifier released. Due Friday (05/29) @ 11:59PM PT.
Friday (05/15)
- No PCM for today!
- 👥 Lesson 15: Machine Learning + Cornbear's Classifier Meet in ARC 147 @ 12:30 (A lecture) or GUG 220 @ 3:30 (B lecture)
- 🔁 Weekly resubmission period closes @ 11:59 pm
Calendar¶
Pre-Class
Anything listed in the “pre-class” materials (PCMs) for a day should be read before attending class that day. The PCMs are a first introduction to the most important terms and concepts for that day of class. It is okay if the PCMs don’t make complete sense as we have the rest of the class day to clarify the concepts, but if you don’t do the PCMs, the class session won’t make any sense.
| Topic | Programming / Creative Projects | Resubmissions | ||
|---|---|---|---|---|
| Week 0 | ||||
| Mon 03/30 | ||||
| Tue 03/31 | ||||
| Wed 04/01 | LES 00 Welcome; Syllabus Note: Note: Normally you would complete the Pre-class Work before class. There is nothing you need to complete before class today! | |||
| Thu 04/02 | SEC 00 Welcome & Software Setup resources: materials | |||
| Released C0 I.S. by 11:59PM PT Warm Up | ||||
| Fri 04/03 | LES 01 Comparable; Inheritance | |||
| Week 1 | ||||
| Mon 04/06 | ||||
| Tue 04/07 | SEC 01 Comparable; Inheritance resources: materials | |||
| Wed 04/08 | LES 02 Polymorphism; Abstract Classes | |||
| Thu 04/09 | SEC 02 Polymorphism; Abstract Classes resources: materials | |||
| Released P0 I.S. by 11:59PM PT Ciphers | ||||
| Fri 04/10 | LES 03 Implementing Data Structures; ArrayIntList | |||
| Week 2 | ||||
| Mon 04/13 | ||||
| Tue 04/14 | SEC 03 Implementing Data Structures resources: materials | |||
| Wed 04/15 | LES 04 References; Linked Nodes | |||
| Released R0 C0 Due 11:59 pm PT Resub 0 | ||||
| Thu 04/16 | SEC 04 References; Linked Nodes resources: materials | |||
| Released C1 I.S. by 11:59PM PT Abstract Strategy Games | ||||
| Fri 04/17 | LES 05 Linked Nodes w/ Loops Note: No PCM for today! Instead, please review the material on Linked Nodes from Lesson and Section 4 | |||
| Week 3 | ||||
| Mon 04/20 | ||||
| Released R1 C0, P0 Due 11:59 pm PT Resub 1 | ||||
| Tue 04/21 | QUIZ 00 Quiz 0 Note: Information for Quiz 0
| |||
| Wed 04/22 | LES 06 Modifying Links; LinkedIntList | |||
| Thu 04/23 | SEC 06 Linked Nodes w/ Loops resources: materials | |||
| Released P1 I.S. by 11:59PM PT Mini-Git | ||||
| Fri 04/24 | LES 07 Runtime Analysis | |||
| Week 4 | ||||
| Mon 04/27 | ||||
| Released R2 C0, P0, C1 Due 11:59 pm PT Resub 2 | ||||
| Tue 04/28 | SEC 07 Linked Lists resources: materials | |||
| Wed 04/29 | LES 08 Recursive Tracing | |||
| Thu 04/30 | SEC 08 Recursive Tracing resources: materials | |||
| Fri 05/01 | LES 09 Recursive Programming | |||
| Week 5 | ||||
| Mon 05/04 | ||||
| Released R3 P0, C1 Due 11:59 pm PT Resub 3 | ||||
| Tue 05/05 | QUIZ 01 Quiz 1 Note: Information for Quiz 1
| |||
| Wed 05/06 | LES 10 Exhaustive Search | |||
| Thu 05/07 | SEC 10 Recursive Programming resources: materials | |||
| Released C2 I.S. by 11:59PM PT GrammarSolver | ||||
| Fri 05/08 | LES 11 Recursive Backtracking | |||
| Week 6 | ||||
| Mon 05/11 | ||||
| Released R4 C1, P1 Due 11:59 pm PT Resub 4 | ||||
| Tue 05/12 | SEC 11 Exhaustive Search & Recursive Backtracking resources: materials | |||
| Wed 05/13 | LES 12 Linked Lists w/ Recursion | |||
| Thu 05/14 | SEC 12 Linked Lists w/ Recursion resources: materials | |||
| Released P2 I.S. by 11:59PM PT Disaster Relief | ||||
| Fri 05/15 | LES 13 Binary Trees: Traversal | |||
| Week 7 | ||||
| Mon 05/18 | ||||
| Released R5 P1, C2 Due 11:59 pm PT Resub 5 | ||||
| Tue 05/19 | SEC 13 Binary Trees: Introduction resources: materials | |||
| Wed 05/20 | LES 14 Binary Trees: Modification Note: No PCM for today! | |||
| Thu 05/21 | SEC 14 Binary Trees: Modification resources: materials | |||
| Released P3 I.S. by 11:59PM PT Cornbear's Classifier | ||||
| Fri 05/22 | LES 15 Machine Learning + Cornbear's Classifier Note: No PCM for today! resources: Lecture A Recording Lecture B Recording | |||
| Week 8 | ||||
| Mon 05/25 | ||||
| Released R6 Resub 6 | ||||
| Tue 05/26 | QUIZ 02 Quiz 2 Note: Information for Quiz 2
| |||
| Wed 05/27 | LES 16 Binary Search Trees pre-class: materials | |||
| Thu 05/28 | SEC 16 Binary Search Trees | |||
| Fri 05/29 | LES 17 Hashing | |||
| Released C3 B(e)ST of the B(e)ST | ||||
| Week 9 | ||||
| Mon 06/01 | ||||
| Released R7 Resub 7, R-Extra | ||||
| Tue 06/02 | SEC 17 Final Exam Review 1 | |||
| Wed 06/03 | LES 18 Final Exam Review Note: No PCM for today! | |||
| Thu 06/04 | SEC 18 Final Exam Review 2 | |||
| Fri 06/05 | LES 19 Victory Lap & Next Steps Note: No PCM for today! | |||
| Week 10 | ||||
| Mon 06/08 | ||||
| Tue 06/09 | ||||
| Wed 06/10 | ||||
| Thu 06/11 | EXAM Final Exam - 12:30pm - 2:20pm | |||
| Fri 06/12 | ||||