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!

in-class: pdf pptx
resources:
Thu 04/02
SEC 00 Welcome & Software Setup
resources: materials
Released I.S. by 11:59PM PT
Fri 04/03
LES 01 Comparable; Inheritance
pre-class: materials
in-class: pdf pptx materials code
resources:
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 I.S. by 11:59PM PT
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 C0 Due 11:59 pm PT
Thu 04/16
SEC 04 References; Linked Nodes
Released I.S. by 11:59PM PT
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 C0, P0 Due 11:59 pm PT
Tue 04/21
QUIZ 00 Quiz 0

Note: Information for Quiz 0

  • Topics on Quiz: Testing, Comparable, Inheritance, Polymorphism, Abstract Classes, ArrayIntList
  • Topics not on Quiz: Linked Nodes

Wed 04/22
LES 06 Modifying Links; LinkedIntList
Thu 04/23
SEC 06 Linked Nodes w/ Loops
Released I.S. by 11:59PM PT
Fri 04/24
LES 07 Runtime Analysis
Week 4
Mon 04/27
Released C0, P0, C1 Due 11:59 pm PT
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 P0, C1 Due 11:59 pm PT
Tue 05/05
QUIZ 01 Quiz 1

Note: Information for Quiz 1

  • Topics on Quiz: ListNodes, Linked lists, Runtime Analysis
  • Topics not on Quiz: Recursion

Wed 05/06
LES 10 Exhaustive Search
Thu 05/07
SEC 10 Recursive Programming
Released I.S. by 11:59PM PT
Fri 05/08
LES 11 Recursive Backtracking
Week 6
Mon 05/11
Released C1, P1 Due 11:59 pm PT
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 I.S. by 11:59PM PT
Fri 05/15
LES 13 Binary Trees: Traversal
Week 7
Mon 05/18
Released P1, C2 Due 11:59 pm PT
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 I.S. by 11:59PM PT
Fri 05/22
LES 15 Machine Learning + Cornbear's Classifier

Note: No PCM for today!

Week 8
Mon 05/25
Released P1, C2, P2 Due 11:59 pm PT
Tue 05/26
QUIZ 02 Quiz 2

Note: Information for Quiz 2

  • Topics on Quiz: Recursion (tracing, programming, exhaustive search, backtracking), Recursion on Linked Lists, Binary tree traversals
  • Topics not on Quiz: Binary tree modifications, Machine Learning

Wed 05/27
LES 16 Binary Search Trees
Thu 05/28
SEC 16 Binary Search Trees
Released I.S. by 11:59PM PT
Fri 05/29
LES 17 Hashing
Week 9
Mon 06/01
Released R7: All / R-Brett: All Due 11:59 pm PT
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