Friday, August 16
- Introduction to the Course
- Syllabus Verification Form - This form must be returned with parent signature.
- First Email - Send an email to email@example.com with the subject line "Google Drive" with an email address that you want to use to access Google Drive in the body of the email.
- Campus Portal - Log in to the infinite campus portal
- Drawing Activity
- Online Journal Entry
- Create a Google Drive Document in the Journals folder. Name the document with your last name.
- Enter todays date in the document
- Write down two expectations that you have for this course.
- Write down two questions that you have about Computer Science that you hope will be answered during this course.
- Tuesday, August 20
- Complete Journal Entry from Friday
- Discuss "Inside the Computer" Project
- Computer Hardware: Input, Processing, Output, Storage
- Memory and Binary
- Computer History Part I
- HW: Read remainder of chapter 1
- Thursday, August 22
- Computer History Part II
- Classroom Discussion: Programming Languages
- Classroom Discussion: Error types
- Introduction to JGrasp
- Online Journal Entry: Identify 3 key trends in the history and development of computers. Provide supporting facts or examples for each trend.
- Introduction to JGrasp
- HW: Read Think Java Chapter 1: The Way of the Program
- HW: Read Textbook sections 2.0-2.3
- Monday, August 26
- Computer History Part III
- Programming: Datatypes and Primitives
- Programming: Identifiers
- Programming: Mathematical Operations
- Programming: Scanner Class and Keyboard Input
- Programming Projects: 2.2,2.3,2.6
- HW: Read Textbook sections 2.4-2.9
- Wednesday, August 28
- Programming: Using Classes
- Programming: Math Class
- Programming: String Class
- Programming Projects: 2.2,2.3,2.6,2.8,2.12
- Online Journal Entry: Who invented the computer? Propose a candidate for who should be given credit for inventing the computer and justify your choice.
- QUIZ on Wednesday 9/4: History and Hardware. Be able to identify hardware components for Input, Output, Processing, and Storage functions. Be able to identify trends in computer history with examples. Know the contributions to the development of computers of the following individuals:
- Blaise Pascal
- Charles Babbage
- Herman Hollerith
- Grace Hopper
- Linus Torvalds
- Douglas Engelbart
- Steve Wozniak
- Tim Berners-Lee
- Friday, August 30
- Classroom Discussion: anatomy of a method
- Classroom Discussion: if statements
- Introduction to CodingBat
- CodingBat: Complete 10 exercises from from each section: Warmup-1, String - 1, Logic-1
- HW: Read Think Java Chapter 4 through section 4.7
- HW: Read Textbook section 3.0-3.4
- Wednesday, September 4 (Minimum Day)
- History and Hardware Quiz: Quiz will not begin accepting responses until class begins
- CodingBat: Complete at least 10 exercises from from each section: Warmup-1, String - 1, Logic-1
- Friday, September 6
- Online Journal Entry: Comment on the Microsoft-Nokia buyout. Looking at trends, what does this event say about the future direction of Microsoft.
- History and Hardware: Review Quiz results
- Programming: Complex conditionals and Truth Tables
- Review: String Methods
- QUIZ on Tuesday 9/10: Conditionals and String methods. Be prepared to trace code to determine the result and to write a simple method involving a conditional.
- CodingBat continuted: Complete at least 10 exercises from from each section: Warmup-1, String - 1, Logic-1
- Tuesday, September 10
- Quiz: Conditionals and String Methods
- CodingBat continued
- Introduction to GridWorld
- Copy Gridworld Folder from Common Drive to Root of G: Drive
- Use JGrasp to run BugRunner.java from the GridWorldCode/Projects/First Project folder
- Study the behavior of the bug using the Do You Know? Set 1 Questions as a guide
- Discuss use of methods in GridWorld
- Complete the Exercises at the end of Part 1
- Thursday, September 12
- CodingBat continued: Check portal for current completion scores
- GridWorld Part I and Discussion
- Java Classes Discussion
- HW: Read Think Java Chapter 4 starting at section 4.8
- HW: Read Textbook Section 8.0 and 8.1
- Monday, September 16
- Opening Activity: Textbook page 501-Multiple Choice questions 8.1-8.6
- Martin and the Dragon
- Introduction to Recursion
- Codingbat Recursion -1: 10 problems that do not use arrays
- Wednesday, September 18
- Journals-Make sure all four journal entries are complete
- Codingbat-Make sure that Warmup,Logic, and String assignments are complete
- String Methods Review: length(),substring(), charAt()
- String Methods Activity
- Codingbat Recursion-1
- Friday, September 20
- Make sure Journals and Codingbat are complete for progress report
- Codingbat: Recursion-1
- Textbook Programming Projects 8.2, 8.6, 8.7 (These will be checked for points)
- Tuesday, September 24
- Computer Interface Discussion
- Online Journal Entry: Interfaces in film and television. Science Fiction
Movies and television create many different ways of interfacing with technology. Write a description of an interface from media that will be clear to someone who has not seen the movie or tv show. Identify the strengths and weaknesses of the interface as well as any relationship to real interfaces. If possible, include a link to a youtube clip of the interface.
- GridWorld Part 2 Discussion-Modifying Classes and Methods
- GridWorld Part 2- Complete Exercises 1-4
- Quiz on Thursday 9/26: Reading Recursion. You will be expected to trace recursive code to determine the result and be able to identify the base case and recursive case of a recursive method.
- Thursday, September 26
- Reading Recursion Quiz
- CodingBat Recursion Assignment: 10 Problems from Recursion-1
- Textbook Programming Projects 8.2, 8.7, 8.8
- Continue Gridworld Part 2 Exercises
- HW: Read Textbook Section 3.5
- HW: Read Think Java Chapter 7
- Monday, September 30
- Iteration Discussion
- while loops
- for loops
- nested loops
- CodingBat String-2: 10 Problems
- Continue Gridworld Part 2
- Wednesday, October 2
- Work on CodingBat problems: Recursion-1 and String-2.
- Work on Gridworld 2 Exercises
- Work on Textbook Programming Projects 8.2, 8.7, 8.8
- HW: Answer Short Answer Questions 3.1-3.15 on pp. 168-187
- Note: Quiz Thursday, October 10 on Iteration
- Note: Midterm exam will be on Wednesday, October 16
- Friday October 4
- Work on CodingBat problems: Recursion-1 and String-2
- Check Textbook Programming projects from chapter 8
- Check \Gridworld 2 Exercises
- HW: Study for Iteration Quiz on Thursday. Be prepared to both read and write code using for and while loops.
- Thursday, October 10
- Discuss Short Answer Questions 3.1-3.15
- Quiz on Iteration
- Midterm Review Grid (Midterm will be Friday, October 18-note the date change)
- Tuesday October 22
- Introduction to Classes
- Programming Project 4.3: Write an application that rolls a die and displays the result. Let the user pick the number of sides on the die. Use the Die class from the common folder to represent the die in your program.
- Programming Project 4.4: Design and implement a class called PairOfDice, with two six sided Die objects. Create a driver class called BoxCars with a main method that rolls a PairOfDice 1000 times, counting the number of box cars (two sixes) that occur.
- Programming Project 4.6: Design and implement a class called Card that represents a standard playing card. Each card has a suit and a face value. Create a program that deals 20 random cards.
- Wednesday October 30
- Writing Classes exercise: With a partner, write the design for a class called JackInTheBox. The class will simulate the actions of a jack in the box toy. Determine what instance data and methods you will need. Write the instance data declarations, the method headers, and the complete implementation of two constructors. This can be done on paper or in a Word document.
- HW: Complete JackInTheBox design document for Tuesday 11/5
- QUIZ on Tuesday 11/5 on Writing Classes
- Tuesday November 5
- Thursday November 7
- References, Aliases, and Interfaces
- static methods and static variables
- Interface programming project 5.6
- Thursday November 14
- Array Discussion
- CodingBat: Array-1 and Array-2: 10 problems from each set
- Monday November 18
- ArrayList Discussion
- Programming Projects
- Programming Project 6.1: Design and implement an applicatin that reads a number of integers that are in the range 0 to 50 inclusive and counts how many times each one is entered. After all input has been processed, print all of the values with the number of times each one was entered.
- Programming Project 6.2: Change the program from 6.1 so that it works for numbers from -25 to 25.
- Programming Project 6.8: Using the Card class from project 4.6, Create a class called DeckOfCards that uses and ArrayList to store 52 objects that are instances of the Card class. Include methods to shuffle the deck, deal a card, and report the number of cards left in te deck. The shuffle method should assume you have a full deck. Create a driver class with a main method that deals each card from a shuffled deck, printing each card as it is dealt.
- Wednesday November 20
- Friday November 22
- Gridworld Part 2 - Dancing Bug: Use of arrays in GridWorld
- Gridworld Part 3 - Jumper: Classes and Interfaces. May be completed in pairs.
- Next Class: QuickCode. A QuickCode is a programming assignment with a time limit. Projects completed before the time limit receive full credit. Late projects receive partial credit. The first QC will check your understanding of the input/process/output cycle involving keyboard input and mathematical operations.
- Tuesday November 26
- QuickCode 1: On QuickCode projects you may use any resources except the help of another student. Textbook, previous programming projects, and web searches are valid resources. On time completion of working compiled code receives full credit.
- Create a program that reads integers from the keyboard and adds a value to a sum as long as the input value is greater than zero. If the number entered is a single digit, add the number to the sum. If the number entered is a two digit number, add double the units digit. If the number is greater than two digits, add triple the units digit. Print the sum. Projects completed by 11:30 will receive 10 points. Projects after 11:30 will receive 7 points.
||4 + 2*2 + 1*3
||1 + 2*2 + 3*3
||5 + 4*2 + 6*3
- Chapter 6 Programming Projects
- CodingBat Array-1 and Array -2
- Gridworld Projects
- Monday December 2
- Parallel Arrays Discussion
- Multi-Dimensional Arrays Discussion
- Enhanced for loop
- HW: Read Sections 6.2 and 6.3
- Tuesday December 10
- Thursday December 12 (Full value by 11:30)
- Quickcode- Using the files in the ArraylistQC folder in the common drive, complete the employeeIsEligible() and processRetirements() methods of the Company class. Use the CompanyTester class to check that it works correctly. Full value if completed by 11:30
- An employee is eligible for retirement if (s)he meets at least two of the following requirements.
- The employee is at least RETIRE_AGE years old.
- The employee has worked for at least RETIRE_YEARS years.
- The employee's salary is at least RETIRE_SALARY.
- Method processRetirements removes all retirement-eligible employees from ArrayList myEmployees and maintains the following conditions: the ArrayList is maintained in order by employee ID and myTotalSalary is the total of all salaries of the remaining employees.