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 (03/30)
- Nothing!
Tuesday (03/31)
- No section today!
Wednesday (04/01)
- No PCM for today!
- 👥 Lesson 0: Welcome; Syllabus Meet in ARC 147 @ 12:30 (A lecture) or GUG 220 @ 3:30 (B lecture)
Thursday (04/02)
- 🧑🏫 Section 0: Welcome & Software Setup
- 🎨 C0 - Warm Up released. Due Wednesday (04/08) @ 11:59PM PT.
Friday (04/03)
- 📚 Pre-Class Material 1 (Complete before class.)
- 👥 Lesson 1: Comparable; Inheritance Meet in ARC 147 @ 12:30 (A lecture) or GUG 220 @ 3:30 (B lecture)
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 Warm Up | ||||
| Fri 04/03 | LES 01 Comparable; Inheritance | |||
| Week 1 | ||||
| Mon 04/06 | ||||
| Tue 04/07 | SEC 01 Comparable; Inheritance | |||
| Wed 04/08 | LES 02 Polymorphism; Abstract Classes pre-class: materials | |||
| Thu 04/09 | SEC 02 Polymorphism; Abstract Classes | |||
| Released P0 Ciphers | ||||
| Fri 04/10 | LES 03 Implementing Data Structures; ArrayIntList | |||
| Week 2 | ||||
| Mon 04/13 | ||||
| Tue 04/14 | SEC 03 Implementing Data Structures | |||
| Wed 04/15 | LES 04 References; Linked Nodes | |||
| Released R0 Resub 0 | ||||
| Thu 04/16 | SEC 04 References; Linked Nodes | |||
| Released C1 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 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 | |||
| Released P1 Mini-Git | ||||
| Fri 04/24 | LES 07 Runtime Analysis | |||
| Week 4 | ||||
| Mon 04/27 | ||||
| Released R2 Resub 2 | ||||
| Tue 04/28 | SEC 07 Linked Lists | |||
| Wed 04/29 | LES 08 Recursive Tracing | |||
| Thu 04/30 | SEC 08 Recursive Tracing | |||
| Fri 05/01 | LES 09 Recursive Programming | |||
| Week 5 | ||||
| Mon 05/04 | ||||
| Released R3 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 | |||
| Released C2 TBD | ||||
| Fri 05/08 | LES 11 Recursive Backtracking | |||
| Week 6 | ||||
| Mon 05/11 | ||||
| Released R4 Resub 4 | ||||
| Tue 05/12 | SEC 11 Exhaustive Search & Recursive Backtracking | |||
| Wed 05/13 | LES 12 Linked Lists w/ Recursion | |||
| Thu 05/14 | SEC 12 Linked Lists w/ Recursion | |||
| Released P2 Disaster Relief | ||||
| Fri 05/15 | LES 13 Binary Trees: Traversal | |||
| Week 7 | ||||
| Mon 05/18 | ||||
| Released R5 Resub 5 | ||||
| Tue 05/19 | SEC 13 Binary Trees: Introduction | |||
| Wed 05/20 | LES 14 Binary Trees: Modification Note: No PCM for today! | |||
| Thu 05/21 | SEC 14 Binary Trees: Modification | |||
| Released P3 Cornbear's Classifier | ||||
| Fri 05/22 | LES 15 Machine Learning + Cornbear's Classifier Note: No PCM for today! | |||
| 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 | |||
| Thu 05/28 | SEC 16 Binary Search Trees | |||
| Released C3 B(e)ST of the B(e)ST | ||||
| Fri 05/29 | LES 17 Hashing | |||
| 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 | ||||