Course Description
CS163: Java (CS1) No Prior Programming
Computer programming in Java for students without previous programming experience.
Topics include variables, assignment, expressions, operators, booleans, conditionals,
characters and strings, control loops, arrays, objects and classes, file input/output,
interfaces, recursion, lists, and sorting.
CS164: Java (CS1) Prior Programming
Computer programming in Java for students with previous programming experience,
not necessarily in Java. Topics include variables, assignment, expressions, operators,
booleans, conditionals, characters and strings, control loops, arrays, objects and classes,
file input/output, interfaces, recursion, lists, and sorting.
Learn the differences at CS Programming Class Selection
Objectives
Upon successful completion of this course, students will be able to:
- Read and (mentally) parse straightforward Java code, and predict the flow of control and program output.
- Design, build, and verify Java programs of moderate size with several classes, as measured by the ability to write Java programs with 200‐300 lines of code.
- Test and debug Java programs, including code written by themselves or by others.
- Use the Linux operating system and IntelliJ development tool to achieve the previous goals.
- Comprehend the basics of object-oriented computer programming in the context of the Java language.
- Decompose and solve programming problems; implement basic algorithms for searching and sorting.
16 Week Schedule
Unit 1
Module | Topics |
---|---|
Module 1: | Welcome and Fundamentals |
Module 2: | Objects Methods Strings Javadoc and UML |
Module 3: | Conditionals Loops Intro to GitHub |
Module 4: | Exam 1 |
Unit 2
Module | Topics |
---|---|
Module 5: | Logical Operators More Classes Datatypes Wrapper Classes |
Module 6: | ArrayList For each More Methods String manipulation |
Module 7: | File Input Interfaces and UML returned |
Module 8: | Exam 2 |
Unit 3
Module | Topics |
---|---|
Module 9: | File Output Exceptions More Classes |
Module 10: | Polymorphism More Branching Arrays |
Module 11: | Recursion Abstract Classes Practical Project |
Module 12: | Exam 3 |
Unit 4
Module | Topics |
---|---|
Module 13: | Polymorphism practice Recursion Searching and Sorting |
Module 14: | 2D Arrays Sorting Arrays Advanced Topics |
Module 15: | Review |
Module 16: | Final Exam |
Please consult the university Final Exam Schedule for the final exam.
- During 16-week sessions, we will have an early take option for the final exam.
- During 8-week sessions, the final exam happens on the last scheduled class day.
Important! All due dates will be listed in Canvas
Programming Labs
Labs are in Zybooks and are meant to be complete during your assigned lab time. They will cover the programing / java topics listed above each week.