CS101: Introduction to Java Programming

This course is designed to teach students the basics of Java programming with the overview of Java language, variables and operations, program flow, arrays and lists, classes and objects, and simple game development. The purpose is to inspire students from game playing (too much?) to explore computer programming. This 24-week course is suitable for students from 8th grade to 11th grade. The course will expand the Fall semester (12 weeks) and Spring semester (12 weeks). No prior programming experience is required.

Students will need to bring their laptop computers to class.

The sessions of this course are listed below.
1. Java Overview
2. Variables and Operations
3. Math Functions
4. For-Loops
5. If Statements
6. Switch Statements
7. Java Input
8. Strings
9. Arrays
10. While Loops
11. Nested Loops
12. Binary and Hexadecimal Numbers

13. File Input and Output
14. Multidimensional Arrays
15. ArrayLists
16. Objects and Classes
17. Methods
18. Application: Rock Paper Scissors
19. Text and Shapes in a Window
20. Picture and Animation
21. Application: Game 2048
22. Application: Game 2048
23. Application: Connect Four
24. Application: Connect Four

CS101A: Introduction to Java Programming (for new students ONLY)

This course is designed to teach students the basics of Java programming with the overview of Java language, variables and operations, program flow, arrays and lists, classes and objects. This 12-week course is suitable for students from 8th to 11th grade.

Students will need to bring their laptop computers to class.

Prerequisite: Prior programming experience, or Algebra I preferred. Highly motivated students can do well without the prerequisite
Format: Weekly quiz, Homework, hands on Labs, Final Exam
Software: Eclipse, and other software download
Instructor expectations: Learn to be proficient in Java language

Week 1 to week 3
1. Overview of Computers and Programming Languages
a. Hardware, Operating System, CPU
b. Types of programming language
c. Basics of coding
2. Basic Elements of Java
a. Variables
b. Data Types
c. Arithmetic Operators and Expressions

Week 4 to week 6
3. Inputs/Outputs (week one and two)
4. Control Structures(selection)
a. Relational operators
b. Logical operators
c. Selections (if, if-else)

Week 7 to week 8
5. Control Structures(repetition)
a. For loop
b. While loop
c. Do while loop

Week 9 to week 12
6. User-defined Functions or Methods
7. Arrays
8. Concepts of Object Oriented Programming (OOP) – inheritance


Introduction to Java (Summer Camp) 4 weeks Half Day

This course is designed to teach students the basics of Java programming with the overview of Java language, variables and calculations, program flow, and arrays, ArrayLists, object-oriented programming, graphical user interface, and simple game development. The purpose is to inspire students from game playing (sometimes too much) to explore computer programming. This four-week summer camp course is suitable for students from 6th grade or up. Upon successful completion of this course, students can take the AP Computer Science course in high school or participate the USACO contests.

No prior programming experience is required. Students will need to bring their laptop computers to class.

The sessions of this course are listed below:

Week 1
1. Java Overview
2. Variables and Operations
3. For-Loops
4. Conditional Statements
Week 1 Labs

Week 2
5. Java Input
6. Java Strings
7. While Loops
8. Objected Oriented Programming
Week 2 Labs

Week 3
9. Nested Loops
10. Arrays
11. ArrayLists
12. Inheritance
Week 3 Labs

Week 4
13. GUI: Text and Shape in a Window
14. Animation: Moving Car
15. Game Design: Space Invader
16. Game Design: Space Invader
Week 4 Labs

Translate