Students in this summer course learn Java, one of the most powerful and high-level programming languages in the world. In fact, Java is the language most emphasized by universities within their computer science major.
This is a beginner course and is tailored for people who have little to no programming experience. Our instruction starts at the basics but quickly transitions into high-level programming topics such as object-oriented programming and recursion. By the end of the course, students reinforce what they've learned by creating an original portfolio-ready product using the Java language.
Additionally, students will gain a head start in the AP Computer Science class as our class teaches all the topics that the AP Computer Science class tests on.
Important Class Notes
Method of Delivery: Live Online (live-streamed with the ability to ask questions and interact with the instructor in real-time).
Prerequisites & Ages: The program is ideal for high school and college students with a strong interest in coding. Prior coding/programming experience is not required, but students must be comfortable with computer basics.
Computer: Live online attendees should have their own Mac or PC. We will assist with any software setup prior to the course.
What You Will Learn
- Write and use industry-standard algorithms
- Write your own program in both the object-oriented and procedural paradigms
- Read and understand large programs
- Understand how to think like a programmer
- Write your own functions
Course Outline
Section 1
Coding Overview
-
Lexical & Syntax Analysis
-
Working with the Terminal
-
Computer Systems
-
First Program
Variables, Data Types, and Operators
-
Basic Variable Usage
-
Data Types
-
Operators
-
Proper Programming Practices
Section 2
Control Flow
-
Conditional Statements
-
Truth Tables
-
For Loops
-
While Loops
Functions
-
Declarations
-
Overloading
-
Return Values
Section 3
Arrays, Strings, and Dictionaries
-
Array Processing
-
Multi-dimensional Arrays
-
String Methods
-
String Manipulation
-
Operations in Dictionaries
Section 4
Input/Output Files
-
Streams and Files
-
String Formatting
-
Redirecting Output
Section 5
Object Oriented Programming
-
Encapsulation
-
Classes
-
Inheritance
-
Polymorphism
-
Abstraction
Section 6
Recursion
-
Recursive Functions
-
Recurrence Relation
-
Base Case Analysis
-
Motivation Behind Recursion
This course is available for "remote" learning and will be available to anyone with access to an internet device with a microphone (this includes most models of computers, tablets). Classes will take place with a "Live" instructor at the date/times listed below.
Upon registration, the instructor will send along additional information about how to log-on and participate in the class.