CSCI 2912
General Information
Instructor: | Jade Cheng 成玉 |
Email: | ycheng@hpu.edu |
Course: | Computer Science II, CSCI 2912 |
Course Schedule | |
Section A: | Wednesday, 5:15 pm - 8:10 pm |
The Frear Center (FC) 102A | |
Section B: | Friday, 8:45 am - 11:40 am |
The Frear Center (FC) 110 | |
Text: | Starting Out with Java: From Control Structures to Objects |
Tony Gaddis, 4th Edition |
Description and Goals
CSCI 2912 is an intermediate problem-solving and programming course using the Java programming language.
Topics covered in CSCI 2912 include:
- encapsulation, inheritance, and polymorphism
- aggregate classes, abstract classes, and wrapper classes
- interfaces
- recursion
- exceptions
- file I/O
- graphical user interfaces
- abstract data structures
-
software engineering practices
- modular programming techniques
- defensive programming
- documentation
- requirement specifications
- testing
Programming assignments help reinforce object-oriented programming techniques discussed in class.
This course builds on CSCI 2911 and provides foundation material for CSCI 2913. The prerequisite for CSCI 2912 is CSCI 2911 and MATH 1130 or higher.
Organization and Grading (Tentative)
We will assign grades based on each student’s performance on:
Assignments | 40% |
Exams | 40% |
Class Participation | 10% |
Quizzes | 10% |
Extra Credit | ≤6% |
We will assign grade letters based on the following table:
A | 90% |
B | 80% |
C | 70% |
D | 60% |
F | <60% |
Assignments
We will assign programming assignments every other week except exam weeks. Overall, each assignment contributes approximately 8% to a student’s final grade.
Submission Policy
Students should submit assignments via email to ycheng@hpu.edu. The instructor will not review, correct, or grade code before the submission date.
The due date for assignments will be Sunday by 11:59 pm HST. Late assignments will receive no credit.
Students must adhere to the following rules when submitting assignments. Failure to do so will affect their grades.
File Name
All source code should be submitted in one file, and that file should be named according to the following pattern:
LastFirstX.java
, whereLast
is the student’s last name,First
is the student’s first name, andX
is the assignment number.For example, student John Doe would submit
DoeJohn3.java
for programming assignment 3.-
File Header
The first lines of the submitted file should include a comment with the following information and format:
/** * A short description of the program. * * @author Last Name, First Name * @assignment CSCI 2912 Assignment X * @date Date */
-
Email Address
The submitted file should be emailed to ycheng@hpu.edu.
-
Email Subject
The subject line of the email sent to the instructor should follow the pattern:
[2912] assignment number
.For example, for assignment 3, student John Doe would write “
[2912] assignment 3
” as the subject line of his submission email. -
Email Attachment
The submission email sent to the instructor should include exactly one attachment, the
java
implementation file. Students should not attach any other files to their submission email.
Students are encouraged to double-check their sent mail after submitting their assignments to ensure that their submission followed the aforementioned rules and that their attachments compile and execute without errors or warnings. Students are responsible for sending correct implementations, and no excuses will be accepted.
Students may submit a single assignment multiple times. Only the most recent assignment submitted before the deadline will be graded.
The instructor will accept and issue some credit for partial implementations, so students are encouraged to submit as much as they can before the grading deadline.
Grading Guidelines
−35 | The program does not meet specifications or does not address the intended implementation as specified in the assignment. The program is incomplete. |
−35 | The program does not compile or crashes because of procedural errors or insufficient error handling. |
−15 | The program runs as intended but with numerous logic errors. |
−10 | The implementation file does not include JavaDoc for all definitions: classes, interfaces, fields, methods, enumerations, and so on. |
−5 | The program runs as intended but with minor logic errors. |
Exams
As a tentative plan, we will have three exams. Each exam will contribute approximately 13% to the final grade. The exams will be closed-book and done entirely with paper and pencil. Students will be asked to read and write short snippets of Java code in these exams.
Both the programming assignments and exams assume students are comfortable programming in Java at the level required for this course. Students who are not comfortable with programming should consult with the instructor for additional, optional, assignments that will help them catch up.
Class Participation and Quizzes
Class attendance will be taken at the beginning of each class in the form of quizzes. Each quiz will contain no more than five short questions. Quizzes will not be given on exam days. Here is a sample quiz.
Students earn points toward class participation by submitting quizzes. Correct answers earn students points toward quiz credits.
Extra Credit
Self Introduction — 1%
Students may email a self introduction to the instructor by Sunday, February 05. The email should contain at least the following information:
- The student’s full name
- The student’s declared major (or undecided)
- The student’s current year; e.g., freshman
- A photo with a clear view of the student’s face
Students are encouraged to include a few sentences that describe themselves.
Programming Practice — 5%
Students may participate in Java Coding Practice at http://codingbat.com/java. The rules for earning extra credit points are as follows:
- Create an account at CodingBat.
- Add
ycheng@hpu.edu
to your Teacher Share. - An extra credit of 1% will be given to every five problems solved.
- A maximum of 5% extra credit will be given throughout the semester.
- Problems that have solutions available do not contribute to the grade.
Extra credit will be awarded for CodingBat on May 12.