Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

ICS3U - Introduction to Computer Science (Java)

Coursework completed for Grade 11 Computer Science (ICS3U).

This repository contains eight major Java assignments that progressively develop skills in programming fundamentals, problem solving, object-oriented design, file handling, graphical programming, and data processing.

Technologies

  • Java
  • Object-Oriented Programming (OOP)
  • Java Swing
  • File I/O
  • Arrays
  • Methods and Modular Programming
  • String Manipulation
  • Conditional Logic and Loops

Assignment 1a: Manipulating Numbers

A collection of programs focused on arithmetic operations, variables, and numerical problem solving.

Features

  • Cash register and change calculator
  • Sales tax calculations
  • Bill and coin breakdowns
  • Weighted test score calculator
  • Percentage-based calculations

Skills Demonstrated

  • Variables and constants
  • Mathematical calculations
  • Type conversion
  • Switch statements
  • Numeric data manipulation

Files

  • cashHelp.java
  • WeighedDown.java

Assignment 1b: Rabbits and Number Limits

Programs that model exponential growth and explore Java's numeric data types.

Features

  • Rabbit population growth simulation
  • Annual cost tracking
  • Exponential growth modeling
  • Large number calculations
  • Integer and long data type comparisons

Skills Demonstrated

  • Loops
  • Growth algorithms
  • Data types
  • Mathematical modeling
  • Program flow control

Files

  • RabbitRabbit.java
  • RabbitsRabbits.java

Assignment 2: Strings, Scans, and Switches

Interactive console applications that use string manipulation, user input, and menu-driven programming.

Features

  • Name formatting utility
  • Paragraph word search and analysis
  • Interactive calculator
  • Payroll calculator
  • Menu-driven interfaces

Skills Demonstrated

  • String manipulation
  • User input with Scanner
  • Conditional logic
  • Switch statements
  • Text processing
  • Input validation

Files

  • StringyCheese.java
  • Scrabble.java
  • CalcTime.java
  • WantsAndNeeds.java

Assignment 3: Methods in Madness

Games and applications built using reusable methods and modular program design.

Features

  • Number guessing game
  • Random number generation
  • Two-player Pig dice game
  • Score tracking
  • Turn-based gameplay

Skills Demonstrated

  • Method creation
  • Parameter passing
  • Return values
  • Program decomposition
  • Game logic implementation

Files

  • GuessGuess.java
  • PigGame.java

Assignment 4: Objects

An object-oriented monster battle game using custom classes and object interactions.

Features

  • Custom Monster class
  • Player-created monsters
  • Turn-based combat system
  • Health and power management
  • Battle and upgrade mechanics

Skills Demonstrated

  • Object-Oriented Programming
  • Classes and objects
  • Constructors
  • Instance variables
  • Method design
  • Object interaction

Files

  • MonsterBattle.java

Assignment 5: Java Swing for the Hills

An introduction to graphical user interfaces and computer graphics using Java Swing.

Features

  • Window creation with Swing
  • Custom graphics rendering
  • House scene drawing
  • Shape and color manipulation
  • Event-driven programming

Skills Demonstrated

  • Java Swing
  • Graphics programming
  • GUI development
  • Coordinate systems
  • Event handling

Files

  • HouseInTheHills.java

Assignment 6: Arrays and Addresses

An array manipulation project that performs various operations on collections of data.

Features

  • Random array generation
  • Array searching
  • Array reversal
  • Average calculations
  • Element replacement
  • Array transformation

Skills Demonstrated

  • Array processing
  • Searching algorithms
  • Iteration
  • Data manipulation
  • Method reuse

Files

  • ArrayOfSunshine.java

Assignment 7: File Manipulation

A file-processing application that analyzes class grades and generates statistics.

Features

  • Student grade management
  • File reading and writing
  • Grade lookup
  • Highest and lowest grade analysis
  • Class average calculation
  • Grade curving system

Skills Demonstrated

  • File I/O
  • BufferedReader and BufferedWriter
  • Data parsing
  • Arrays
  • Statistical analysis
  • Exception handling

Files

  • ClassList.java
  • student.txt

Final ISP: Win Big or Go Home

A culminating project that combines concepts learned throughout the course into a complete trivia game.

Features

  • 20-question trivia challenge
  • Multiple-choice question system
  • File-based question database
  • Prize money tracking
  • Lives/chance system
  • Win and lose conditions

Skills Demonstrated

  • File processing
  • Arrays
  • Methods
  • User interaction
  • Game development
  • Data organization
  • Program design

Files

  • WinBigOrGoHome.java
  • QnA.txt

Key Learning Outcomes

Throughout these assignments I gained experience with:

  • Java programming fundamentals
  • Object-oriented software development
  • GUI programming with Java Swing
  • File input and output
  • Array manipulation and processing
  • String processing
  • Modular program design
  • Algorithmic problem solving
  • Game development
  • Data analysis and reporting
  • Software testing and debugging
  • Technical documentation

Future Improvements

Potential future enhancements include:

  • Database integration
  • More advanced graphical interfaces
  • Persistent save systems
  • Networking and multiplayer functionality
  • Unit testing
  • Design patterns
  • API integrations
  • Full-stack application development

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages