1. Class Schedule
1.1. Jan 11 - Intro to class logistics
1.2. Jan 12 - Lab: Bring your laptops. Set up tools
1.3. Jan 13
1.3.1. Hello World
1.3.1.1. Java compiler
1.3.1.2. Flow of a program
1.3.1.3. Main()
1.3.1.4. Libraries
1.4. Jan 14 - Lab: Assignment 1 - Get Hello World working
1.5. Jan 18 - MLK day
1.6. Jan 19 - Lab Assignment 2 - Math review
1.7. Jan 20
1.7.1. Bug Run
1.7.1.1. Graphics
1.7.1.2. Variables
1.7.1.3. Loop
1.7.2. Saber Bouncer
1.7.2.1. Graphics
1.7.2.2. Variables
1.7.2.3. Loop
1.7.2.4. If
1.8. Jan 21 - Quiz 1 - Basic Math
1.9. Jan 25
1.9.1. Guess a Number Game
1.9.1.1. Loop
1.9.1.2. If
1.9.1.3. Print
1.9.1.4. Random
1.9.1.5. Variables
1.9.2. Pong
1.9.2.1. Graphics
1.9.2.2. Variables
1.9.2.3. Loop
1.9.2.4. If
1.9.2.5. Keyboard control
1.10. Jan 26 - Lab Assignment 3 - Variables, Operators, Printing
1.11. Jan 27
1.11.1. Walkabout
1.11.1.1. Graphics
1.11.1.2. Loop
1.11.1.3. Keyboard control
1.11.2. Click And Play
1.11.2.1. Graphics
1.11.2.2. Mouse clicking
1.11.2.3. Sound
1.11.2.4. Loop
1.12. Jan 28 - Quiz 2 - Variables, Operators
1.13. Feb 1
1.13.1. For loops
1.13.2. Start on arrays
1.14. Feb 2 - Lab Assignment 4 - Practice Do, If-Else
1.15. Feb 3
1.15.1. 1D Arrays
1.16. Feb 4 - Quiz 3 - If & Do loops
1.17. Feb 8
1.17.1. Project 1 - Milestone 1
1.17.2. Object Oriented Programming
1.18. Feb 9 - Lab Assignment 5 - For loops, While loops, and 1D arrays
1.19. Feb 10
1.19.1. Bug Run Objectified
1.19.1.1. Objects and Defining Classes
1.19.1.2. Graphics
1.19.1.3. Mouse interaction
1.20. Feb 11 - Quiz 4 - While & If
1.21. Feb 15 - Presidents Day
1.21.1. Project 1 - Milestone 2
1.22. Feb 16 - Lab Assignment 6 - More practice with 1D arrays & Object oriented programming
1.23. Feb 17 - NSF PI Workshop
1.23.1. Audition Project 1
1.24. Feb 18 - Quiz 5 - For loops
1.25. Feb 22
1.25.1. Bug squish game
1.25.1.1. More intricate
1.25.1.2. Objects / Classes
1.25.1.3. Graphics
1.25.1.4. Mouse interaction
1.25.1.5. Arrays
1.25.1.6. Sound
1.26. Feb 23 - Lab Assignment 7 - More object oriented programming
1.27. Feb 24
1.27.1. Students against nutritious edibles
1.27.1.1. Arrays
1.27.1.2. Objects / classes
1.27.1.3. File I/O
1.28. Feb 25 - Quiz 6 - Arrays
1.29. Feb 29 - More File Reading
1.29.1. Project 2 - Milestone 1
1.29.2. Graphics Transformations
1.29.2.1. Graphics- specifically translateto translateby forward rotateto rotateby turnLeft turnRight
1.29.2.2. Switch statements
1.29.2.3. String parsing
1.30. Mar 1 - Lab Assignment 8 - File reading & switch statmets
1.31. Mar 2
1.31.1. Pidginator
1.31.1.1. File reading and writing
1.32. Mar 3 - Quiz 7 - Objects
1.33. Mar 7
1.33.1. Chicken Run
1.33.1.1. Multiple classes and objects
1.33.1.2. for loop
1.33.1.3. Objects / Classes
1.33.1.4. Graphics
1.33.1.5. Keyboard interaction
1.33.1.6. Arrays
1.33.1.7. Final static int
1.33.1.8. Sound
1.33.2. Project 2 - Milestone 2
1.34. Mar 8 - Lab Assignment 9 - file writing
1.35. Mar 9
1.36. Mar 10 - Quiz 8 - string parsing with switch statements
1.37. Mar 14
1.37.1. Project 2 - Milestone 3
1.37.2. Mirror Writer
1.37.2.1. File reading and writing with characters
1.38. Mar 15 - Lab Assignment 10 - File writing
1.39. Mar 16
1.39.1. Audition Project 2
1.39.2. Finite State Machines
1.39.2.1. Super Hero
1.40. Mar 17 - Quiz 9 - File writing
1.41. March 21-25 - Spring Break
1.42. Mar 28
1.42.1. Shuffle a deck of cards
1.42.1.1. Objects / defining classes
1.42.1.2. Arrays
1.42.1.3. Nested for loops
1.43. Mar 29 - Lab Assignment 11 - file reading and writing with characters
1.44. Mar 30
1.44.1. Rewrite Card shuffle with ArrayList
1.44.1.1. introduce ArrayList
1.45. Mar 31 - Quiz 10 - File reading and writing with characters
1.46. Apr 4
1.46.1. Project 3 - Milestone 1
1.46.2. 2D Arrays
1.47. Apr 5 - Lab Assignment 12 - ArrayList
1.48. Apr 6
1.48.1. 2D arrays
1.48.1.1. Battleship Map Creator
1.49. Apr 7 - Quiz 11 - ArrayList
1.50. Apr 11
1.50.1. Scope and Inheritance
1.51. Apr 12 - Lab Assignment 13 - 2D arrays
1.52. Apr 13
1.52.1. Private. Public, Protected scope
1.53. Apr 14 - Quiz 12 - 2D arrays
1.54. Apr 18
1.54.1. Factorial, Turtle Graphics and Fractals
1.54.1.1. Graphics
1.54.1.2. Recursion
1.54.2. Project 3 - Milestone 2
1.55. Apr 19 - Lab Assignment 14 - Inheritence
1.56. Apr 20
1.56.1. EZ Groups
1.57. Apr 21 - Quiz 13 - Private, Public, Protected & scope & static member variables
1.58. Apr 25
1.58.1. Try/Catch
1.59. Apr 26 - Lab Assignment 15 - Private, Public, Protected & scope & static member variables
1.60. Apr 27
1.60.1. Catch up
1.61. Apr 28 - Quiz 14 - Inheritance
1.62. May 1
1.62.1. Project 3 - Milestone 3
1.63. May 2
1.63.1. FINAL PRESENTATION pt 1
1.64. Mar 3 - No Lab
1.65. May 4 - Last Day of Class
1.65.1. FINAL PRESENTATION pt 2
1.66. May 9 - FINAL EXAM DUE
1.67. May 18 - GRADES AVAILABLE
2. Grading
2.1. Projects - 33 points
2.1.1. Project 1 - 10 points
2.1.1.1. Individual project
2.1.2. Project 2 - 10 points
2.1.2.1. Individual project
2.1.3. Project 3 - 13 points
2.1.3.1. Design your own project as a team
2.1.3.2. Choose your own team members
2.1.4. Previous Projects
2.2. Lab Assignments - 30 points
2.2.1. 15 lab assignments
2.2.1.1. Solving small problems by writing code
2.2.1.2. Extending lecture examples
2.2.1.3. Commenting code segments
2.2.1.4. Tracing code segments
2.2.2. 2 points each starting 1st week of class
2.2.3. Tues labs will have a mini-assignment that must be turned in for points. One will be due at the beginning of lab for 1 point, and the other will be due at the end of lab for 1 point.
2.2.4. The first mini-assignment will be sent out in advance of the lab and you will complete it as homework.
2.3. Achievement Quizzes - 42 points
2.3.1. 14 Achievement quizzes will be given (1 per week)
2.3.2. First quiz will be given on the 1st week of class on Thurs
2.3.3. 3 points each
2.3.4. Quizzes are intended to make sure you have the must basic ability to use the concepts you learned in Java so that you arenʻt an embarrassment to your team mates.
2.3.5. If you miss a quiz there is no retake.
2.3.6. Main Quiz Topics
2.3.6.1. Quiz 1
2.3.6.1.1. Math quiz
2.3.6.2. Quiz 2
2.3.6.2.1. what does the java compiler produce
2.3.6.2.2. variables
2.3.6.2.3. basic types- int, float, String
2.3.6.2.4. How do you print something on the screen
2.3.6.3. Quiz 3
2.3.6.3.1. If statement
2.3.6.3.2. do loop
2.3.6.3.3. some variable math questions
2.3.6.4. Quiz 4
2.3.6.4.1. While loop
2.3.6.4.2. If statement
2.3.6.4.3. Increment with ++
2.3.6.5. Quiz 5
2.3.6.5.1. Declaring a class
2.3.6.5.2. Making a class object
2.3.6.5.3. Calling a class member function
2.3.6.6. Quiz 6
2.3.6.6.1. For loop
2.3.6.6.2. Declaring a class
2.3.6.6.3. Making a class object
2.3.6.6.4. Calling a class member function
2.3.6.7. Quiz 7
2.3.6.7.1. Switch statement
2.3.6.7.2. Scanner- read from command line / string parsing
2.3.6.8. Quiz 8
2.3.6.8.1. Arrays
2.3.6.8.2. Nested for loop
2.3.6.9. Quiz 9
2.3.6.9.1. static final members
2.3.6.9.2. scope rules (not public/private/protected etc..)
2.3.6.10. Quiz 10
2.3.6.10.1. File reading and writing
2.3.6.11. Quiz 11
2.3.6.11.1. ArrayList, Integer, Float types
2.3.6.12. Quiz 12
2.3.6.12.1. 2D arrays
2.3.6.13. Quiz 13
2.3.6.13.1. Public, Private, Protected
2.3.6.14. Quiz 14
2.3.6.14.1. Inheritance
2.3.7. All quizzes are closed book. Eclipse may not be used during the quizzes.
2.4. Final Exam - 5 points
2.4.1. 1 take home
2.5. Extra Credit
2.5.1. Extra credit is already built into your grade.
2.5.2. See "How to Compute Your Grade".
2.6. What if I Miss a Lab or Quiz?
2.6.1. See "How to Compute Your Grade"
2.7. How to Compute Your Grade
2.7.1. You will notice the points add up to 110.
2.7.2. Your grade maxes out at 100 points. The 10 points are free extra credit points that is given to all of you at the beginning of class that make up for missed quizzes or labs or any other random acts of life. If your final grade is on the edge of a letter grade do not ask for any extra credit work. None will be given as you already have 10 free extra points.
2.7.3. On Laulima if you get 100 points it is computed as 90.9% (100/110 = 90.9%) which is considered an A+. See below for full grade scale.
2.7.4. A+ = 100/110 = 90.9%
2.7.5. A = 95/110 = 86.4%
2.7.6. A- = 90/110 = 81.8%
2.7.7. B+ = 87/110 =79%
2.7.8. B = 83/110 = 75%
2.7.9. B- = 80/110 = 72.7%
2.7.10. C+ = 77/110 = 70%
2.7.11. C = 73/110 = 66.4%
2.7.12. C- = 70/110 = 63.6%
2.7.13. D+ = 67/110 = 60.9%
2.7.14. D = 63/110 = 57.2%
2.7.15. D- = 60/110 = 54.5%
2.7.16. F = Anything below a D-
3. What's the class about?
3.1. Introduction to Computer Science
3.2. Overview of computer science through writing programs in Java involving graphics, sound and interaction.
3.3. Student Outcomes
3.3.1. An ability to apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems
3.3.1.1. Finite state machines
3.3.1.2. Basic geometry and trigonometry for interactive graphical applications
3.3.2. An ability to define the computing requirements of a problem and to design appropriate solutions based on established design principles and with an understanding of the tradeoffs involved in design choices
3.3.2.1. Software projects
3.3.2.2. Lab problems
3.3.3. An ability to use sound development principles to implement computer-based and software systems of varying complexity, and to evaluate such systems
3.3.3.1. Coding standards
3.3.3.2. Defensive programming
3.3.3.3. Object-oriented design
3.3.4. An ability to use current techniques, skills, and tools necessary for computing practice
3.3.4.1. Java
3.3.4.2. Eclipse
3.3.4.3. Gimp
3.3.4.4. Audacity
3.4. Previous Projects
4. What is programming like?
4.1. http://www.thrashermagazine.com/articles/videos/magnified-jerry-gurney-062015/
5. Instructor
5.1. Jason Leigh
5.2. http://jasonleigh.me
6. TAs
6.1. Anupriya Srivastava
6.1.1. [email protected]
6.2. Jason Catiglione
6.2.1. [email protected]
6.3. Tyson Seto-Mook
6.3.1. [email protected]
6.4. Nurit Kirshenbaum
6.4.1. [email protected]
6.5. Sergey Negrashov
6.5.1. [email protected]
7. Class Location & Time
7.1. ARCH 205
7.2. Monday and Wednesday at 9:00a-10:15a
7.3. https://manoa.hawaii.edu/campusmap/uhmmap.pdf
8. Lab Location & Times
8.1. Tuesdays & Thursdays in either POST 318A or 319
8.2. Jason Catiglione
8.2.1. Section 1: 9a @ POST 318A
8.2.1.1. Man Chon Kuok (ATA)
8.3. Sergey Negrashov
8.3.1. Section 2: 9a @ POST 319
8.3.1.1. Anson Yu
8.3.2. Section 3: 10:30 @ POST 318A
8.4. Tyson Seto-Mook
8.4.1. Section 4: 10:30 @ POST 319
8.5. Nurit Kirshenbaum
8.5.1. Section 5: 12p @ POST 318A
8.5.1.1. Sun Chu (Jaeryn) (ATA)
8.6. Anupriya Srivastava
8.6.1. Section 6: 12p @ POST 319
8.6.1.1. Jaron Kuriyama (ATA)
9. Office Hours & Location
9.1. Jason Leigh
9.1.1. Monday and Wednesday 10:15-11:15
9.1.2. Keller 102
9.2. Anupriya Srivastava
9.2.1. By Appointment
9.3. Jason Catiglione
9.3.1. Immediate after Lab
9.4. Tyson Seto-Mook
9.4.1. Tues/Thurs 12pm-1pm in POST 314-10
9.5. Nurit Kirshenbaum
9.5.1. 1:15-2:30 T, Th in ICS Space
9.6. Sergey Negrashov
9.6.1. 1pm - 2pm T, Th - POST 307
10. Additional Assistance
10.1. Code Academy
10.2. ICS Open Labs
10.2.1. POST 318A
10.2.2. Mondays: 9am-9pm
10.2.3. Tuesday, Thursdays: 6pm - 9pm
10.2.4. Weds, Fridays: 7:30pm-9;m
10.3. Learning Emporium
10.3.1. Bilger Addition 209
10.3.2. Tues-Fri: Noon - 2pm
11. Required Class Materials
11.1. Your own laptop
11.2. EZ Graphics
11.3. Java
11.4. Eclipse
11.5. Audacity
11.6. Gimp
11.7. Open Broadcaster Software
12. Handing In Projects
12.1. Projects will be handed-in by uploading to Laulima under the ASSIGNMENT by the deadline indicated for the assignment.
12.2. Every project will have milestones with due dates for them.
12.3. Late work is accepted up to a week late but a 50% penalty will be imposed.
12.4. An assignment is considered late if the submission time is registered by Laulima as 1 minute past due date and time. No Exceptions.
12.5. Any subsequent RESUBMISSION of the assignment past the due date is considered a late submission even if the original submission was submitted on time.
12.6. To upload your project
12.6.1. Go to your project folder and zip everything up into a single Zip file. Make sure all sound files and images are included as well as a copy of EZ.java and all other java files you wrote.
12.6.2. Turn in this zip file in Laulima under the Assignments folder (the same place where you downloaded the assignment in the first place).
12.6.3. As for the video URL, go to the Resources Folder on Laulima. You will find a subfolder for this project in which you can add your URL.
13. The Labs
13.1. Installing and setting up Java and Eclipse
13.2. Bring your laptop to every class and every lab
13.3. Tues: Graded Lab mini-assignment
13.4. Thurs: Help on projects, then Graded Quiz & review
13.5. Login into your lab account
13.6. WARNING
13.6.1. No food or drink allowed in labs
13.6.2. No unplugging equipment in labs
13.6.3. Anyone caught doing it will be dismissed from lab and given ZERO points for their lab session that day.
14. What NOT to do if you miss the first week or so of class
14.1. http://www.youtube.com/watch?v=zSNc8F9tqzY
15. Textbook
15.1. ICS111 Just Enuf Java - availabe on Laulima under Resources
15.2. Java for Dummies (free from UH Digital Library)
15.2.1. http://proquestcombo.safaribooksonline.com.eres.library.manoa.hawaii.edu/book/programming/java/9781118417645