Вы находитесь на странице: 1из 4

PIC 20A Principles of Java Language with Applications Fall 2016

Instructor:
TA:
Lecture:
Discussion:
Office Hours:

Matt Haberland <haberland@ucla.edu> @ MS 7620E


Fei Feng <florencefengfei@gmail.com> @ PIC Lab (MS 2000)
MWF 9:00 a.m. 9:50 a.m. @ MS 5117
TR 9:00 a.m. 9:50 a.m. @ MS 6221
M 10:25 a.m. 11:25 a.m., M 2:25 p.m. 3:25 p.m., W 1:25 p.m. 2:25 p.m. (Haberland)
T 10:00 a.m. 11:00 a.m., F 10:00 a.m.. 11:00 a.m.

Official Course Description


Lecture, three hours; discussion, two hours; laboratory, eight hours.
Enforced requisite: course 10A. Not open for credit to students with credit for course 3.
Introduction to Java computer language. Class and interface hierarchies; graphics components and
graphical user interfaces; streams; multithreading; event and exception handling. Issues in class design
and design of interactive Web pages. P/NP or letter grading.
Intended Learning Outcomes
After successfully completing this course, students will be able to:

write programs consisting of Java language commands (operators, variable declarations, control
flow instructions, etc...) that can be run on almost any computer without modification;
design classes to represent and manipulate complex information;
use object-oriented programming, including polymorphism and inheritance, to simplify
programming tasks;
select and use appropriate classes from the Java Library to extend application capabilities;
build GUIs (graphical user interfaces) to facilitate human/computer interaction;
create and start simultaneous threads while avoiding concurrency issues;
send and receive data, e.g. to/from files, to/from the console, and over a network;
locate and fix compile-time errors (i.e. debug code) and handle run-time exceptions;
test code for proper execution and correct flaws to ensure intended behavior.

Expectations
In order to succeed in this course, students are expected to:

engage in all scheduled lectures and discussions,


ask questions in class and attend office hours as necessary,
complete homework assignments and recommended readings on time,
perform additional study and practice as necessary to build confidence in the material, and
maintain academic integrity (see below).

The course staff firmly believes that all students who follow the above guidelines can succeed in this
course. Learning can be difficult, but we are committed to ensuring that you do!
Resources
Website:
Textbooks:

https://ccle.ucla.edu/course/view/16F-COMPTNG20A-1
All course information will be posted and all assignments will be submitted here.
Head First Java, 2nd Edition (ISBN-10 0596009208), <$30
Required. Complementary readings are scheduled for most lectures.

PIC Lab:

MWF 9 6, TR 9 9, Sat Closed, Sun 1 5 @ MS 2000


For updated hours and other information, see http://www.pic.ucla.edu/
The PIC Lab has computers with all the software needed for this course. The PIC lab
assistant can help fix hardware and software issues, but cannot help with course material.
TA office hours will be held in the PIC lab.

Evaluation
Homework:

20% - There will be seven homework assignments. Solutions are due on CCLE by 9 a.m.
on the due date. Paper copies may be submitted in discussion within the week the
homework is due if written feedback is desired. Official solutions will be posted shortly
after the assignment is due; work submitted after this cannot be accepted for credit.
Within the week of submission, students must also submit in discussion an honest
evaluation of their solution according to a provided rubric. Homework credit will
typically be assigned according to this self-evaluation. However, dishonest selfassessments will be treated as a breach of academic integrity (see below). The lowest
earned homework grade will be discarded as long as a correction solution is submitted by
the assigned date.
Homework is assigned to help students improve their Java programming skills. Some
uses of outside resources, such as the textbook, internet tutorials, office hours, and broad
discussion with other students, support the learning process and are encouraged. Use of
resources in ways that do not promote learning, such as referring to the work of other
students and copying existing code without adaptation and sufficient understanding, are
not allowed. When in doubt, ask course staff proactively. Please acknowledge the
contributions of all resources (including other students, not including the recommended
textbooks and course staff) informally on your solutions.
You are encouraged to consult with other students on your self-assessments.
Quizzes and
10% - Quizzes on recent lecture materials, typically administered Tuesdays in discussion
Participation
Approximately 10% of the lowest quiz grades will be discarded.
Additional class, office hour, etc participation may raise this portion of the grade.
Midterm 1:
20% - Wednesday, October 19, 7:00 p.m. 9:00 p.m. @ PIC Lab
Midterm 2:
20% -Wednesday, November 16, 7:00 p.m. 9:00 p.m. @ PIC Lab
Project
Optional. Weight up to 20% of course grade; reduces other weights. For details, see the
Project Assignment Document.
Final:
30% - Thursday, December 8, 2016, 8:00 a.m. 11:00 a.m. @ Location TBA
The lower of the midterm exam scores will be replaced by a higher final exam score.
There are no makeup exams. Students who miss the final exam for an excused reason will be assigned an
I (incomplete) and must make arrangements with the instructor for completing the course. Students who
miss the final exam for any other reason must be assigned an F. Final letter grades are assigned on an
absolute scale: 90-100 A, 80-90 B, 70-80 C, 60-70 D, <60 F. +/- are typically assigned corresponding
with the top/bottom 3 points of each range.
Partial Credit
Partial credit for each homework and exam is typically granted based on an output-oriented rubric; a
certain number of points are awarded or deducted when the output of executed solution code meets a
certain criterion. Consider the case where a student completes a perfect solution, but makes an errant
keystroke before saving such that the code does not compile when being graded. In this case, an outputoriented rubric would result in little or no partial credit, yet the solution code is almost perfect! To remedy
this, students may be able to improve their score on homeworks and exams by correcting their
submissions, logging the changes (using provided software), and submitting change logs. The number of
changes required to correct the solution is, in some sense, a measure of how incorrect the original
submission was and thus can be used for assigning partial credit. Details will be announced in class.

Academic Integrity
As a student and member of the University community, you are here to get an education and are,
therefore, expected to demonstrate integrity in all of your academic endeavors. You are evaluated on your
own merits, so be proud of your accomplishments, and protect academic integrity at UCLA.
(Student Guide to Academic Integrity, http://www.deanofstudents.ucla.edu/Portals/16/Documents/StudentGuide.pdf)

Accommodations for Students with Disabilities


If you are registered with the Office for Students with Disabilities, please discuss accommodations with
course staff within the first week of the semester.

Schedule
All readings are from Head First Java and are to be completed before the corresponding lecture.
Homework numbers correspond with the week in which they are assigned. There is no HW5.
Week Date
0
9/23
9/26
1
9/28
9/30
10/03
2
10/05
10/07
10/10
3
10/12
10/14
10/17
4
10/19
10/21
10/24
5
10/26
10/28
10/31
6
11/02
11/04
11/07
7
11/09
11/11
11/14
8
11/16
11/18
11/21
9
11/23
11/25
11/28
10
11/30
12/02
12/8

Day
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Monday
Wednesday
Friday
Thursday

Topic
Introduction to PIC 20A
Introduction to Java
Hello World and the Basics
Objects and Arrays
Creating Original Methods and Classes
Java API, including ArrayLists, Strings
Writing an Application, Debugging
Inheritance and Polymorphism
Abstract Classes
Interfaces
Modifiers (static, final, protected)
Midterm 1 Review
GUI I: Graphics
(continued)
GUI II: Event Handling
GUI III: Netbeans GUIs
Exception Handling
Input/Output: Streams, Readers, and Writers
Input/Output: Parsing, Buffers, and Serialization
Data Structures: Theory
Data Structures: Implementation
Veterans Day Holiday (no class)
Threads, Concurrency
Midterm 2 Review/Practice
Networking
TBA
TBA
Thanksgiving Holiday (no class)
TBA
TBA
TBA
Final Exam

Reading
Chapter 1
Chapter 2
Chapter 3
Chapter 9
Chapter 4
Chapter 6
Chapter 5
Chapter 7
Chapter 8
Chapter 10
Chapter 12
Chapter 13
Chapter 11
Chapter 14
Chapter 16
Chapter 15
-

HW Due

HW1

HW2

HW3

HW4

HW6

HW7

HW8

Вам также может понравиться