Welcome to CSE 121: Introduction to Computer Programming I π
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.)
Prior Experience and Expectations
This course is intended for students who have no or very little previous programming experience. CSE 121 will teach the fundamentals of programming in Java from the very beginning. If you have previous programming experience in any text-based programming language (Java, Python, Javascript, etc.), you may find that CSE 122 or another course is a better fit for you.
To help assess if CSE 121 is the right class for you, the Allen School has developed a Self-Guided Placement to help students assess which intro course is the right one for them to enroll in. Please see this website for more information on who to contact if you have questions about which introductory CSE course is the right course for you.
Feedback
Feedback is always welcome! You can contact the the course staff or submit anonymous feedback.
If you want to learn more about the course and its policies, please check out our course syllabus.
This Week (at a glance)¶
Tuesday (08/15)
- π§βπ« Quiz Section 15: Final Practice: File I/O
- π¨ C3 Practice Final due @ 11:59 pm.
Wednesday (08/16)
- Final
Thursday (08/17)
Calendar¶
Lessons
Anything listed in the “Lesson” materials for a day should be read before attending class that day. The Lessons are a first introduction to the most important terms and concepts for that day of class. It is okay if the Lesson doesn’t make complete sense as we have the rest of the class day to clarify the concepts, but if you don’t do the Lesson the class session won’t make any sense.
Topic | Programming / Creative Projects | Resubmissions | ||
---|---|---|---|---|
Module 0 - Welcome; Hello, World | ||||
Tue 06/20 | No section! | |||
Wed 06/21 | LES 00 Welcome; Course Policies; Printing Note: Normally you would complete the Pre-class Work before class. There is nothing you need to complete before class today! | |||
Released C0 I.S. by 11:59 pm Hello World/Turtle Drawing | ||||
Thu 06/22 | SEC 00 Introductions; Printing resources: handout | |||
Fri 06/23 | LES 01 Printing; Turtle | |||
Module 1 - Syntax; Variables; for loops | ||||
Mon 06/26 | ||||
Tue 06/27 | SEC 01 Printing; Turtles; resources: handout | |||
Wed 06/28 | LES 02 Datatypes; Expressions; Variables | |||
Released P0 I.S. by 11:59 pm Code Reviews | ||||
Thu 06/29 | SEC 02 Datatypes; Expressions; Variables resources: handout | |||
Fri 06/30 | LES 03 Strings; for loops | |||
Released R0 Due 11:59 pm Resub 0 | ||||
Module 2 - Nested loops; Methods | ||||
Mon 07/03 | ||||
Tue 07/04 | SEC 03 No Section [Take-home section] resources: handout | |||
Wed 07/05 | LES 04 Nested for loops; Random | |||
Released C1 I.S. by 11:59 pm Drawing Shapes | ||||
Thu 07/06 | SEC 04 Nested for loops; Random resources: handout | |||
Released R1 Due 11:59 pm Resub 1 | ||||
Fri 07/07 | LES 05 Methods; Parameters | |||
Module 3 - Methods; Conditionals; while loops | ||||
Mon 07/10 | QUIZ 00 Quiz 0 (Takehome) | |||
Tue 07/11 | SEC 05 Methods; Parameters resources: handout | |||
Wed 07/12 | LES 06 Parameters (cont.); Returns | |||
Released P1 I.S. by 11:59 pm Election Simulator | ||||
Thu 07/13 | SEC 06 Return values resources: handout | |||
Released R2 Due 11:59 pm Resub 2 | ||||
Fri 07/14 | LES 07 Conditionals; while loops | |||
Module 4 - Interaction | ||||
Mon 07/17 | ||||
Tue 07/18 | SEC 07 Conditionals; while loops resources: handout | |||
Wed 07/19 | LES 08 User input ( Scanner ); while loops | |||
Released C2 I.S. by 11:59 pm Parameterized Shapes | ||||
Thu 07/20 | SEC 08 Scanner ; while loops resources: handout | |||
Released R3 Due 11:59 pm Resub 3 | ||||
Fri 07/21 | LES 09 Putting it all together Note: No pre-class material for today! | |||
Module 5 - File Input/Output; Arrays | ||||
Mon 07/24 | QUIZ 01 Quiz 1 (Takehome) | |||
Tue 07/25 | SEC 09 Mid-quarter Review resources: handout | |||
Wed 07/26 | LES 10 File I/O | |||
Released P2 I.S. by 11:59 pm Prioritizing Patients | ||||
Thu 07/27 | SEC 10 File I/O resources: handout | |||
Released R4 Due 11:59 pm Resub 4 | ||||
Fri 07/28 | LES 11 File I/O | |||
Module 6 - Arrays | ||||
Mon 07/31 | ||||
Tue 08/01 | SEC 11 File I/O resources: handout | |||
Wed 08/02 | LES 12 Arrays; Reference Semantics | |||
Released P3 I.S. by 11:59 pm It's Data Time | ||||
Thu 08/03 | SEC 12 Arrays resources: handout | |||
Released R5 Due 11:59 pm Resub 5 | ||||
Fri 08/04 | LES 13 Array Patterns | |||
Module 7 - Arrays; Final Review | ||||
Mon 08/07 | QUIZ 02 Quiz 2 (Takehome) | |||
Tue 08/08 | SEC 13 Array Patterns resources: handout | |||
Wed 08/09 | LES 14 Array Patterns; Course Wrap Up Note: No Pre-class Material for today | |||
Released C3 I.S. by 11:59 pm Practice Final | ||||
Thu 08/10 | SEC 14 Final Practice: Arrays | |||
Released R6 Due 11:59 pm Resub 6 | ||||
Fri 08/11 | LES 15 Final Review Session Note: No Pre-class Material for today resources: videos Videos | |||
Module 8 - Course Wrap Up | ||||
Mon 08/14 | ||||
Tue 08/15 | SEC 15 Final Practice: File I/O | |||
Wed 08/16 | EXAM Final | |||
Thu 08/17 | SEC 16 TBD | |||