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!

in-class: pdf pptx
resources:
Released
C0
Hello World/Turtle Drawing
I.S. by 11:59 pm
Thu 06/22
SEC 00 Introductions; Printing
resources: handout
Fri 06/23
LES 01 Printing; Turtle
pre-class: materials
in-class: pdf pptx materials
resources:
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
pre-class: materials
in-class: pdf pptx materials
resources:
Released
P0
Code Reviews
I.S. by 11:59 pm
Thu 06/29
SEC 02 Datatypes; Expressions; Variables
resources: handout
Fri 06/30
LES 03 Strings; for loops
pre-class: materials
in-class: pdf pptx materials
resources:
Released
R0
Resub 0
Due 11:59 pm
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
pre-class: materials
in-class: pdf pptx materials
resources:
Released
C1
Drawing Shapes
I.S. by 11:59 pm
Thu 07/06
SEC 04 Nested for loops; Random
resources: handout
Released
R1
Resub 1
Due 11:59 pm
Fri 07/07
LES 05 Methods; Parameters
pre-class: materials
in-class: pdf pptx materials
resources:
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
pre-class: materials
in-class: pdf pptx materials
resources:
Released
P1
Election Simulator
I.S. by 11:59 pm
Thu 07/13
SEC 06 Return values
resources: handout
Released
R2
Resub 2
Due 11:59 pm
Fri 07/14
LES 07 Conditionals; while loops
pre-class: materials
in-class: pdf pptx materials
resources:
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
pre-class: materials
in-class: pdf pptx materials
resources:
Released
C2
Parameterized Shapes
I.S. by 11:59 pm
Thu 07/20
SEC 08 Scanner; while loops
resources: handout
Released
R3
Resub 3
Due 11:59 pm
Fri 07/21
LES 09 Putting it all together

Note: No pre-class material for today!

in-class: pdf pptx materials
resources:
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
pre-class: materials
in-class: pdf pptx materials
resources:
Released
P2
Prioritizing Patients
I.S. by 11:59 pm
Thu 07/27
SEC 10 File I/O
resources: handout
Released
R4
Resub 4
Due 11:59 pm
Fri 07/28
LES 11 File I/O
pre-class: materials
in-class: pdf pptx materials
resources:
Module 6 - Arrays
Mon 07/31
Tue 08/01
SEC 11 File I/O
resources: handout
Wed 08/02
LES 12 Arrays; Reference Semantics
pre-class: materials
in-class: pdf pptx materials
resources:
Released
P3
It's Data Time
I.S. by 11:59 pm
Thu 08/03
SEC 12 Arrays
resources: handout
Released
R5
Resub 5
Due 11:59 pm
Fri 08/04
LES 13 Array Patterns
pre-class: materials
in-class: pdf pptx materials
resources:
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

in-class: pdf pptx materials
resources:
Released
C3
Practice Final
I.S. by 11:59 pm
Thu 08/10
SEC 14 Final Practice: Arrays
Released
R6
Resub 6
Due 11:59 pm
Fri 08/11
LES 15 Final Review Session

Note: No Pre-class Material for today

resources:
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