Programming in Java - CS 102

Covers variables, types, conditionals, loops, methods, arrays, objects, classes, inheritance, and programming problem solving.

Study Tools

All

Study guides

12

06 Methods and Modular Programming

Learn how methods divide programs into focused, reusable units, and how parameters, return values, scope, decomposition, and interfaces support maintainable code.
Study guide · Updated

10 Inheritance and Polymorphism

A practical guide to Java inheritance, overriding, polymorphism, type relationships, abstract classes, and choosing composition appropriately.
Study guide · Updated

09 Classes and Class Design

A practical guide to designing Java classes that model concepts, protect state, enforce rules, and use relationships effectively.
Study guide · Updated

11 Testing and Debugging

A practical guide to distinguishing program errors, debugging systematically, designing effective tests, and reasoning about correctness from specifications.
Study guide · Updated

08 Objects and Encapsulation

Learn how Java classes define objects, how constructors and instance methods manage object state, and how references, aliasing, and encapsulation support safe object-oriented programs.
Study guide · Updated

07 Arrays and Collections

Learn how to declare, access, traverse, search, update, and analyze Java arrays, including multidimensional arrays and the choice between arrays and collections.
Study guide · Updated

12 Integrated Programming Projects

A practical guide to designing integrated programs by moving from requirements and decomposition to data structures, algorithms, object-oriented design, validation, testing, and refinement.
Study guide · Updated

05 Loops and Repetition

A practical guide to designing, choosing, controlling, and debugging Python loops, including counters, accumulators, nested loops, searches, and termination.
Study guide · Updated

02 Variables, Expressions, and Input/Output

A progressive guide to Python variables, expressions, program state, input conversion, and readable output.
Study guide · Updated

04 Conditionals and Boolean Logic

Learn how Boolean expressions, logical operators, and conditional structures let programs make reliable decisions, including how to handle boundaries, branch order, and testing.
Study guide · Updated

03 Types and Data Representation

A practical guide to JavaScript types, conversions, type checks, strings, and choosing data representations that make programs clear and reliable.
Study guide · Updated

01 Programming Foundations and Problem Solving

A structured introduction to computational thinking, programming building blocks, object-oriented concepts, algorithms, testing, and debugging.
Study guide · Updated

Quizzes

12

09 Classes and Class Design

A medium-difficulty quiz on Java classes and class design, covering class structure, constructors, encapsulation, static and instance members, composition, inheritance, invariants, and responsibility assignment.
Quiz · Updated

05 Loops and Repetition

A medium-difficulty quiz on designing, tracing, and debugging Python loops. It covers loop selection, range behavior, counters, accumulators, loop control, nested loops, termination, and search patterns.
Quiz · Updated

07 Arrays and Collections

A medium-difficulty quiz on Java arrays, traversal, searching, aggregation, multidimensional arrays, mutation, copying, and collections. Questions progress from foundational application to more involved reasoning.
Quiz · Updated

11 Testing and Debugging

A medium-difficulty quiz on testing, debugging, tracing execution, designing effective tests, defensive programming, and evaluating program correctness. Questions progress from core concepts to applied analysis and debugging decisions.
Quiz · Updated

12 Integrated Programming Projects

A medium-difficulty quiz on requirements analysis, decomposition, data structures, algorithms, control flow, abstraction, object-oriented design, validation, testing, and project workflow in integrated programming projects.
Quiz · Updated

10 Inheritance and Polymorphism

A medium-difficulty quiz on Java inheritance, method overriding, polymorphism, abstract classes, type safety, and the design choice between inheritance and composition. The questions emphasize applying object-oriented design principles rather than recalling isolated definitions.
Quiz · Updated

06 Methods and Modular Programming

A medium-difficulty assessment of methods, parameters, return values, scope, decomposition, reuse, side effects, abstraction, and recursive design in modular programming.
Quiz · Updated

08 Objects and Encapsulation

A medium-difficulty quiz on Java objects, classes, constructors, references, aliasing, instance methods, and encapsulation. Questions progress from core concepts to applied reasoning.
Quiz · Updated

01 Programming Foundations and Problem Solving

A 14-question assessment on programming foundations, computational thinking, data types, control flow, functions, collections, object-oriented design, algorithms, and debugging. The questions progress from foundational application to more integrated problem solving.
Quiz · Updated

04 Conditionals and Boolean Logic

A medium-difficulty quiz on Boolean expressions, comparison and logical operators, conditional structures, branch ordering, boundary handling, and systematic testing in JavaScript-style programs.
Quiz · Updated

03 Types and Data Representation

A 14-question quiz on JavaScript types and data representation. It emphasizes applying concepts such as equality, type checking, immutability, numeric behavior, property access, references, serialization, and safe handling of external input.
Quiz · Updated

02 Variables, Expressions, and Input/Output

A medium-difficulty quiz on Python variables, literals, assignment, expressions, operators, program state, input, conversion, and output. Questions progress from foundational interpretation to multi-step application.
Quiz · Updated

Flashcards

12

04 Conditionals and Boolean Logic

Learn how Boolean expressions, logical operators, and JavaScript conditional structures control program decisions, including boundaries, branch ordering, testing, and common errors.
Flashcards · Updated

06 Methods and Modular Programming

Learn how methods support modular programming through parameters, return values, scope, decomposition, reuse, testing, and intentional side effects.
Flashcards · Updated

12 Integrated Programming Projects

A focused set of flashcards on designing, implementing, validating, testing, and improving integrated Python programming projects.
Flashcards · Updated

07 Arrays and Collections

A focused review of Java arrays, traversal, searching, aggregation, mutation, multidimensional structures, and array-versus-collection choices.
Flashcards · Updated

10 Inheritance and Polymorphism

A focused set of flashcards covering Java inheritance, overriding, polymorphism, abstract classes, casting, and composition decisions.
Flashcards · Updated

09 Classes and Class Design

A focused set of flashcards covering Java classes, object construction, encapsulation, member types, relationships, and practical class-design principles.
Flashcards · Updated

08 Objects and Encapsulation

Learn how Java classes, objects, constructors, references, methods, and encapsulation work together to model state and protect object invariants.
Flashcards · Updated

11 Testing and Debugging

A focused set of flashcards covering program errors, systematic debugging, trace-based analysis, test design, defensive programming, and reasoning about correctness.
Flashcards · Updated

05 Loops and Repetition

A focused review of Python loops, iteration patterns, state tracking, loop control, termination, nesting, and common search and aggregation algorithms.
Flashcards · Updated

03 Types and Data Representation

A focused review of JavaScript types, references, conversion, checking, strings, and data representations for writing clearer and safer programs.
Flashcards · Updated

02 Variables, Expressions, and Input/Output

Review how Python variables, values, expressions, operators, program state, input conversion, and output work together in basic programs.
Flashcards · Updated

01 Programming Foundations and Problem Solving

A focused review of computational thinking, core programming constructs, object-oriented concepts, algorithms, debugging, and performance analysis.
Flashcards · Updated