ICS 111 Spring 2016

登録は簡単!. 無料です
または 登録 あなたのEメールアドレスで登録
ICS 111 Spring 2016 により Mind Map: ICS 111 Spring 2016

1. What's the class about?

1.1. Introduction to Computer Science

1.2. Overview of computer science through writing programs in Java involving graphics, sound and interaction.

1.3. Student Outcomes

1.3.1. An ability to apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems

1.3.1.1. Finite state machines

1.3.1.2. Basic geometry and trigonometry for interactive graphical applications

1.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

1.3.2.1. Software projects

1.3.2.2. Lab problems

1.3.3. An ability to use sound development principles to implement computer-based and software systems of varying complexity, and to evaluate such systems

1.3.3.1. Coding standards

1.3.3.2. Defensive programming

1.3.3.3. Object-oriented design

1.3.4. An ability to use current techniques, skills, and tools necessary for computing practice

1.3.4.1. Java

1.3.4.2. Eclipse

1.3.4.3. Gimp

1.3.4.4. Audacity

1.4. Previous Projects

2. What is programming like?

2.1. http://www.thrashermagazine.com/articles/videos/magnified-jerry-gurney-062015/

3. Instructor

3.1. Jason Leigh

3.2. http://jasonleigh.me

4. TAs

4.1. Anupriya Srivastava

4.1.1. anupriya@hawaii.edu

4.2. Jason Catiglione

4.2.1. jcastig@hawaii.edu

4.3. Tyson Seto-Mook

4.3.1. tmook@hawaii.edu

4.4. Nurit Kirshenbaum

4.4.1. nuritk@hawaii.edu

4.5. Sergey Negrashov

4.5.1. sin8@hawaii.edu

5. Class Location & Time

5.1. ARCH 205

5.2. Monday and Wednesday at 9:00a-10:15a

5.3. https://manoa.hawaii.edu/campusmap/uhmmap.pdf

6. Lab Location & Times

6.1. Tuesdays & Thursdays in either POST 318A or 319

6.2. Jason Catiglione

6.2.1. Section 1: 9a @ POST 318A

6.2.1.1. Man Chon Kuok (ATA)

6.3. Sergey Negrashov

6.3.1. Section 2: 9a @ POST 319

6.3.1.1. Anson Yu

6.3.2. Section 3: 10:30 @ POST 318A

6.4. Tyson Seto-Mook

6.4.1. Section 4: 10:30 @ POST 319

6.5. Nurit Kirshenbaum

6.5.1. Section 5: 12p @ POST 318A

6.5.1.1. Sun Chu (Jaeryn) (ATA)

6.6. Anupriya Srivastava

6.6.1. Section 6: 12p @ POST 319

6.6.1.1. Jaron Kuriyama (ATA)

7. Office Hours & Location

7.1. Jason Leigh

7.1.1. Monday and Wednesday 10:15-11:15

7.1.2. Keller 102

7.2. Anupriya Srivastava

7.2.1. By Appointment

7.3. Jason Catiglione

7.3.1. Immediate after Lab

7.4. Tyson Seto-Mook

7.4.1. Tues/Thurs 12pm-1pm in POST 314-10

7.5. Nurit Kirshenbaum

7.5.1. 1:15-2:30 T, Th in ICS Space

7.6. Sergey Negrashov

7.6.1. 1pm - 2pm T, Th - POST 307

8. Additional Assistance

8.1. Code Academy

8.2. ICS Open Labs

8.2.1. POST 318A

8.2.2. Mondays: 9am-9pm

8.2.3. Tuesday, Thursdays: 6pm - 9pm

8.2.4. Weds, Fridays: 7:30pm-9;m

8.3. Learning Emporium

8.3.1. Bilger Addition 209

8.3.2. Tues-Fri: Noon - 2pm

9. Class Schedule

9.1. Jan 11 - Intro to class logistics

9.2. Jan 12 - Lab: Bring your laptops. Set up tools

9.3. Jan 13

9.3.1. Hello World

9.3.1.1. Java compiler

9.3.1.2. Flow of a program

9.3.1.3. Main()

9.3.1.4. Libraries

9.4. Jan 14 - Lab: Assignment 1 - Get Hello World working

9.5. Jan 18 - MLK day

9.6. Jan 19 - Lab Assignment 2 - Math review

9.7. Jan 20

9.7.1. Bug Run

9.7.1.1. Graphics

9.7.1.2. Variables

9.7.1.3. Loop

9.7.2. Saber Bouncer

9.7.2.1. Graphics

9.7.2.2. Variables

9.7.2.3. Loop

9.7.2.4. If

9.8. Jan 21 - Quiz 1 - Basic Math

9.9. Jan 25

9.9.1. Guess a Number Game

9.9.1.1. Loop

9.9.1.2. If

9.9.1.3. Print

9.9.1.4. Random

9.9.1.5. Variables

9.9.2. Pong

9.9.2.1. Graphics

9.9.2.2. Variables

9.9.2.3. Loop

9.9.2.4. If

9.9.2.5. Keyboard control

9.10. Jan 26 - Lab Assignment 3 - Variables, Operators, Printing

9.11. Jan 27

9.11.1. Walkabout

9.11.1.1. Graphics

9.11.1.2. Loop

9.11.1.3. Keyboard control

9.11.2. Click And Play

9.11.2.1. Graphics

9.11.2.2. Mouse clicking

9.11.2.3. Sound

9.11.2.4. Loop

9.12. Jan 28 - Quiz 2 - Variables, Operators

9.13. Feb 1

9.13.1. For loops

9.13.2. Start on arrays

9.14. Feb 2 - Lab Assignment 4 - Practice Do, If-Else

9.15. Feb 3

9.15.1. 1D Arrays

9.16. Feb 4 - Quiz 3 - If & Do loops

9.17. Feb 8

9.17.1. Project 1 - Milestone 1

9.17.2. Object Oriented Programming

9.18. Feb 9 - Lab Assignment 5 - For loops, While loops, and 1D arrays

9.19. Feb 10

9.19.1. Bug Run Objectified

9.19.1.1. Objects and Defining Classes

9.19.1.2. Graphics

9.19.1.3. Mouse interaction

9.20. Feb 11 - Quiz 4 - While & If

9.21. Feb 15 - Presidents Day

9.21.1. Project 1 - Milestone 2

9.22. Feb 16 - Lab Assignment 6 - More practice with 1D arrays & Object oriented programming

9.23. Feb 17 - NSF PI Workshop

9.23.1. Audition Project 1

9.24. Feb 18 - Quiz 5 - For loops

9.25. Feb 22

9.25.1. Bug squish game

9.25.1.1. More intricate

9.25.1.2. Objects / Classes

9.25.1.3. Graphics

9.25.1.4. Mouse interaction

9.25.1.5. Arrays

9.25.1.6. Sound

9.26. Feb 23 - Lab Assignment 7 - More object oriented programming

9.27. Feb 24

9.27.1. Students against nutritious edibles

9.27.1.1. Arrays

9.27.1.2. Objects / classes

9.27.1.3. File I/O

9.28. Feb 25 - Quiz 6 - Arrays

9.29. Feb 29 - More File Reading

9.29.1. Project 2 - Milestone 1

9.29.2. Graphics Transformations

9.29.2.1. Graphics- specifically translateto translateby forward rotateto rotateby turnLeft turnRight

9.29.2.2. Switch statements

9.29.2.3. String parsing

9.30. Mar 1 - Lab Assignment 8 - File reading & switch statmets

9.31. Mar 2

9.31.1. Pidginator

9.31.1.1. File reading and writing

9.32. Mar 3 - Quiz 7 - Objects

9.33. Mar 7

9.33.1. Chicken Run

9.33.1.1. Multiple classes and objects

9.33.1.2. for loop

9.33.1.3. Objects / Classes

9.33.1.4. Graphics

9.33.1.5. Keyboard interaction

9.33.1.6. Arrays

9.33.1.7. Final static int

9.33.1.8. Sound

9.33.2. Project 2 - Milestone 2

9.34. Mar 8 - Lab Assignment 9 - file writing

9.35. Mar 9

9.36. Mar 10 - Quiz 8 - string parsing with switch statements

9.37. Mar 14

9.37.1. Project 2 - Milestone 3

9.37.2. Mirror Writer

9.37.2.1. File reading and writing with characters

9.38. Mar 15 - Lab Assignment 10 - File writing

9.39. Mar 16

9.39.1. Audition Project 2

9.39.2. Finite State Machines

9.39.2.1. Super Hero

9.40. Mar 17 - Quiz 9 - File writing

9.41. March 21-25 - Spring Break

9.42. Mar 28

9.42.1. Shuffle a deck of cards

9.42.1.1. Objects / defining classes

9.42.1.2. Arrays

9.42.1.3. Nested for loops

9.43. Mar 29 - Lab Assignment 11 - file reading and writing with characters

9.44. Mar 30

9.44.1. Rewrite Card shuffle with ArrayList

9.44.1.1. introduce ArrayList

9.45. Mar 31 - Quiz 10 - File reading and writing with characters

9.46. Apr 4

9.46.1. Project 3 - Milestone 1

9.46.2. 2D Arrays

9.47. Apr 5 - Lab Assignment 12 - ArrayList

9.48. Apr 6

9.48.1. 2D arrays

9.48.1.1. Battleship Map Creator

9.49. Apr 7 - Quiz 11 - ArrayList

9.50. Apr 11

9.50.1. Scope and Inheritance

9.51. Apr 12 - Lab Assignment 13 - 2D arrays

9.52. Apr 13

9.52.1. Private. Public, Protected scope

9.53. Apr 14 - Quiz 12 - 2D arrays

9.54. Apr 18

9.54.1. Factorial, Turtle Graphics and Fractals

9.54.1.1. Graphics

9.54.1.2. Recursion

9.54.2. Project 3 - Milestone 2

9.55. Apr 19 - Lab Assignment 14 - Inheritence

9.56. Apr 20

9.56.1. EZ Groups

9.57. Apr 21 - Quiz 13 - Private, Public, Protected & scope & static member variables

9.58. Apr 25

9.58.1. Try/Catch

9.59. Apr 26 - Lab Assignment 15 - Private, Public, Protected & scope & static member variables

9.60. Apr 27

9.60.1. Catch up

9.61. Apr 28 - Quiz 14 - Inheritance

9.62. May 1

9.62.1. Project 3 - Milestone 3

9.63. May 2

9.63.1. FINAL PRESENTATION pt 1

9.64. Mar 3 - No Lab

9.65. May 4 - Last Day of Class

9.65.1. FINAL PRESENTATION pt 2

9.66. May 9 - FINAL EXAM DUE

9.67. May 18 - GRADES AVAILABLE

10. Grading

10.1. Projects - 33 points

10.1.1. Project 1 - 10 points

10.1.1.1. Individual project

10.1.2. Project 2 - 10 points

10.1.2.1. Individual project

10.1.3. Project 3 - 13 points

10.1.3.1. Design your own project as a team

10.1.3.2. Choose your own team members

10.1.4. Previous Projects

10.2. Lab Assignments - 30 points

10.2.1. 15 lab assignments

10.2.1.1. Solving small problems by writing code

10.2.1.2. Extending lecture examples

10.2.1.3. Commenting code segments

10.2.1.4. Tracing code segments

10.2.2. 2 points each starting 1st week of class

10.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.

10.2.4. The first mini-assignment will be sent out in advance of the lab and you will complete it as homework.

10.3. Achievement Quizzes - 42 points

10.3.1. 14 Achievement quizzes will be given (1 per week)

10.3.2. First quiz will be given on the 1st week of class on Thurs

10.3.3. 3 points each

10.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.

10.3.5. If you miss a quiz there is no retake.

10.3.6. Main Quiz Topics

10.3.6.1. Quiz 1

10.3.6.1.1. Math quiz

10.3.6.2. Quiz 2

10.3.6.2.1. what does the java compiler produce

10.3.6.2.2. variables

10.3.6.2.3. basic types- int, float, String

10.3.6.2.4. How do you print something on the screen

10.3.6.3. Quiz 3

10.3.6.3.1. If statement

10.3.6.3.2. do loop

10.3.6.3.3. some variable math questions

10.3.6.4. Quiz 4

10.3.6.4.1. While loop

10.3.6.4.2. If statement

10.3.6.4.3. Increment with ++

10.3.6.5. Quiz 5

10.3.6.5.1. Declaring a class

10.3.6.5.2. Making a class object

10.3.6.5.3. Calling a class member function

10.3.6.6. Quiz 6

10.3.6.6.1. For loop

10.3.6.6.2. Declaring a class

10.3.6.6.3. Making a class object

10.3.6.6.4. Calling a class member function

10.3.6.7. Quiz 7

10.3.6.7.1. Switch statement

10.3.6.7.2. Scanner- read from command line / string parsing

10.3.6.8. Quiz 8

10.3.6.8.1. Arrays

10.3.6.8.2. Nested for loop

10.3.6.9. Quiz 9

10.3.6.9.1. static final members

10.3.6.9.2. scope rules (not public/private/protected etc..)

10.3.6.10. Quiz 10

10.3.6.10.1. File reading and writing

10.3.6.11. Quiz 11

10.3.6.11.1. ArrayList, Integer, Float types

10.3.6.12. Quiz 12

10.3.6.12.1. 2D arrays

10.3.6.13. Quiz 13

10.3.6.13.1. Public, Private, Protected

10.3.6.14. Quiz 14

10.3.6.14.1. Inheritance

10.3.7. All quizzes are closed book. Eclipse may not be used during the quizzes.

10.4. Final Exam - 5 points

10.4.1. 1 take home

10.5. Extra Credit

10.5.1. Extra credit is already built into your grade.

10.5.2. See "How to Compute Your Grade".

10.6. What if I Miss a Lab or Quiz?

10.6.1. See "How to Compute Your Grade"

10.7. How to Compute Your Grade

10.7.1. You will notice the points add up to 110.

10.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.

10.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.

10.7.4. A+ = 100/110 = 90.9%

10.7.5. A = 95/110 = 86.4%

10.7.6. A- = 90/110 = 81.8%

10.7.7. B+ = 87/110 =79%

10.7.8. B = 83/110 = 75%

10.7.9. B- = 80/110 = 72.7%

10.7.10. C+ = 77/110 = 70%

10.7.11. C = 73/110 = 66.4%

10.7.12. C- = 70/110 = 63.6%

10.7.13. D+ = 67/110 = 60.9%

10.7.14. D = 63/110 = 57.2%

10.7.15. D- = 60/110 = 54.5%

10.7.16. F = Anything below a D-

11. The Labs

11.1. Installing and setting up Java and Eclipse

11.2. Bring your laptop to every class and every lab

11.3. Tues: Graded Lab mini-assignment

11.4. Thurs: Help on projects, then Graded Quiz & review

11.5. Login into your lab account

11.6. WARNING

11.6.1. No food or drink allowed in labs

11.6.2. No unplugging equipment in labs

11.6.3. Anyone caught doing it will be dismissed from lab and given ZERO points for their lab session that day.

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. Required Class Materials

13.1. Your own laptop

13.2. EZ Graphics

13.3. Java

13.4. Eclipse

13.5. Audacity

13.6. Gimp

13.7. Open Broadcaster Software

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