ICS 111: Introduction to Computer Science I


Instructor:William McDaniel Albritton
Office Hours:Email me for on-campus appointments
Office Location: DA 211
Contact:(808) 455-0319 (walbritt AT hawaii.edu)
Website URL:https://www2.hawaii.edu/~walbritt/ics111/

SLO #1SLO #2SLO #3SLO #4

SLO #1: Use an appropriate programming environment to design, code, compile, run and debug computer programs.
Class Dates Topics Readings Slides Assignments Due Dates Examples & Resources
May 21 Introduction to the Class Syllabus   Assignment #1 (Who am I?) May 21 at 11:59pm The Java Tutorials
Introduction to Programming Using Java, 7th Edition
Java Software Solutions, 9th Edition
Learning Resource Center
Hoʻoulu
Training Tips
Recycling Computers
Laulima Login
UH gmail
What Skills Do I Need to Get Hired?
William's home page
May 22 String Output Chapter 1.4 The Java programming Language

Lesson: The "Hello World!" Application

The Basic Java Application
lecture02-string-output Assignment 2 May 22 at 11:59pm Program.java
Software Installation
JDK
jGRASP
Java Coding Standard
thisisonemessyprogram.java
ProgramWithComments.java
SLO #2: Demonstrate basic problem solving skills: analyzing problems, modeling a problem as a system of objects, creating algorithms, and implementing models and algorithms in an object-oriented computing language.
Class Dates Topics Readings Slides Assignments Due Dates Examples & Resources
May 23 String Class, Objects & Methods Chapters 2.1, 2.2

The Java Tutorials: Strings

Section 2.3: Strings, Classes, Objects, and Subroutines
lecture03-string-class Assignment 3 May 23 at 11:59pm JennySue.java
BillyMac.java
Java API
Class String
toUpperCase()
toLowerCase()
Hokusai
substring()
Initials.java
May 24 String Input Chapters 2.6

Lesson: Basic I/O

Text Input and Output
lecture04-string-input Assignment 4 May 24 at 11:59pm InputName.java
Class System
Class PrintStream
Class Scanner
Escape.java
First Computer Bug
Java API
Debugger Tutorial
SubstringMethods.java
May 25 Integers Chapters 2.3

Primitive Data Types

Variables and the Primitive Types
lecture05-integers Assignment 5 May 25 at 11:59pm PinballGames.java
Class Integer
TemperatureConverter.java
TemperatureConverterImproved.java
May 28 Last Day to Drop with 50% Tuition Refund without "W" grade About Grades
Summer Academic Calendar
May 28 Memorial Day - Holiday, no classes Summer Academic Calendar
May 30 GUI Chapters 2.7, 2.9

How to Make Frames

How to Use Panels

The Basic GUI Application

Graphics and Painting
lecture06-gui Assignment 6 May 30 at 11:59pm HelloWorldPanel.java
Java API
Class JFrame
Class JPanel
Class Graphics
Class Graphics
Class Color
Class Font
YukidarumaPanel.java
May 31 Exceptions Chapters 11.1, 11.2, 11.3

Lesson: Exceptions

Introduction to Exceptions and try..catch
lecture07-exceptions Assignment 7 May 31 at 11:59pm PinballGames.java
Java API
Class Exception
PinballGamesUsingExceptions.java
ExceptionsExercise.java
ListOfCatchBlocks.java
NestingOfTryCatchBlocks.java
June 1 Static Methods Chapters 7.3

Understanding Class Members

Static Subroutines and Static Variables
lecture08-static-methods Assignment 8 June 1 at 11:59pm TemperatureConverterFloats.java
Java API
Class Double
Class Math
LargestLogarithm.java
June 4 Exam 1 covers everything above     June 4 between 12:01 AM and 11:59 PM review1.htm
June 5 Methods & Parameters Chapters 4.4, 7.7

Passing Information to a Method

Parameters
lecture09-methods-parameters Assignment 9 June 5 at 11:59 PM Initial.java
ProgramControl.java
Yukidarumas.java
Hinomaru.java
Kurochan.java
June 6 Methods & Return Values Chapters 4.4, 7.7

Returning a Value from a Method

Return Values
lecture10-return-values Assignment 10 June 6 at 11:59 PM InitialsReturnValue.java
KindsOfMethods.java
TemperatureConverterReturnValues.java
MyCalculator.java
June 7 Static Variables Chapters 7.3

Variables

Static Subroutines and Static Variables
lecture11-static-variables Assignment 11 June 7 at 11:59 PM PinballGamesWithStaticMethods.java
MyCalculator.java
TemperatureConverterReturnValues.java
June 8 Classes and Constructors Chapters 4.1, 4.2, 4.3

Providing Constructors for Your Classes

Constructors and Object Initialization
lecture12-classes-constructors Assignment 12 June 8 at 11:59 PM Name.java
NameClient.java
Class String
Fraction.java
FractionClient.java
June 11 King Kamehameha I Day - Holiday, no classes Summer Academic Calendar
June 12 Set & Get Methods Chapters 4.3

Defining Methods

Getters and Setters
lecture13-set-get Assignment 13 June 12 at 11:59 PM Name2.java
NameClient2.java
Fraction2.java
FractionClient2.java
June 13 More Methods Chapters 4.4

Defining Methods

Objects, Instance Methods, and Instance Variables
lecture14-more-methods Assignment 14 June 13 at 11:59 PM Name3.java
NameClient3.java
Fraction3.java
FractionCalculator.java
June 14 Last day to Withdraw for Summer Session I About Grades
Summer Academic Calendar
June 14 Interfaces Chapters 7.5

Interfaces

Interfaces
lecture15-interfaces Assignment 15 June 14 at 11:59 PM NameInterface.java
Name4.java
NameClient4.java
FractionInterface.java
Fraction4.java
FractionCalculator4.java
June 15 Inheritance & Polymorphism Chapters 9, 10

Inheritance
Polymorphism

Inheritance, Polymorphism, and Abstract Classes
lecture16-inheritance Assignment 16 June 15 at 11:59 PM ThreeNames.java
Name5.java
ThreeNamesClient.java
PolymorphismExample.java
CommunityCollegeDriver.java
June 18 Exam 2 covers everything above     June 18 between 12:01 AM and 11:59 PM review2.htm
SLO #3: Illustrate basic programming concepts such as program flow and syntax of a high-level general purpose language and basic security practices.
Class Dates Topics Readings Slides Assignments Due Dates Examples & Resources
June 19 if Statements Chapters 5.1, 5.2

The if-then and if-then-else Statements

The Basic If Statement
lecture17-if-statements Assignment 17 June 19 at 11:59 PM BooleanExamples.java
IfStatements.java
SpamMusubi.java
ScopeExample.java
Nested.java
IfStatementsWithModulus.java
June 20 else-if Statements Chapters 5.1, 5.2

The if-then and if-then-else Statements

The if Statement
lecture18-else-if Assignment 18 June 20 at 11:59 PM ComparingStrings.java
SpamMusubiIfElse.java
Differences.java
ScopeExample2.java
June 21 while Loops Chapter 5.4

The while and do-while Statements

The Basic While Loop
lecture19-while-loops Assignment 19 June 21 at 11:59 PM CountTo10WhileLoop.java
TheCount.java
TheCountIncrement.java
TheCountCheckUserInput.java
TheCountNestedLoops.java
StringMethods.java
June 22 for Loops Chapter 6.4

The for Statement (Java tutorials)

The for Statement (Dr. Eck)
lecture20-for-loops Assignment 20 June 22 at 11:59 PM CountTo10.java
CountTo10WithFor.java CountLotsOfWays.java
StringMethods.java
SLO #4: Demonstrate working with primitive data types, strings and arrays.
Class Dates Topics Readings Slides Assignments Due Dates Examples & Resources
June 25 Arrays Chapter 8.4

Arrays (Java tutorials)

Introduction to Arrays (Dr. Eck)
lecture21-arrays Assignment 21 June 25 at 11:59 PM InitializingArrays.java
June 26 Command Line Arguments Chapter 8

Command-Line Arguments (Java tutorials)

Command-line Arguments (Dr. Eck)
lecture22-command-line-args  Assignment 22 June 26 at 11:59 PM Stooges.java
ArraysAndMethods.java
Repeat.java
June 27 File I/O Chapter 5.5

Reading, Writing, and Creating Files (Java tutorials)

Files (Dr. Eck)
lecture23-file-io Assignment 23 June 27 at 11:59 PM WriteToFile.java
ReadFromFile.java
June 28 switch, break, and continue statements Chapter 6.1

The switch Statement (Dr. Eck)
lecture24-switch-break-continue Assignment 24 June 28 at 11:59 PM SwitchExample.java
BreakExample.java
ContinueExample.java
June 29 Exam 3 covers everything above     June 29 between 12:01 AM and 11:59 PM review3.htm
eCAFE Course and Faculty Evaluation