View/Open

advertisement
CS 107 Introduction to Programming
Fall 2014
Credits: 3 units
Contact Hours: Tuesday/Thursday 0800-0915 (Section 3) and 1400-1515 (Section 4)
Instructor: Patty Kraft
Office: GMCS 544
Email: pkraft@mail.sdsu.edu
Office Hours Days: M/T/W/TH
Office Hours: 1230 – 1345 (M/T/W/TH), 0930-1030 T, and by appointment
Course Materials
1.
2.
Required text: Cay Horstmann, Java For Everyone: Late Objects, 2nd Edition, Wiley, 2013. ISBN-13: 9781118063316.
Required: Leland Beck and Alexander Chizhik, CS 107 Course Reader. This is an in-class workbook. You are
expected to have this workbook with you each and every class session.
Course Information for CS 107
Description from the Official Course Catalog
Programming methodology and problem solving. Basic concepts of computer systems, algorithm design
and development, data types, program structures. Extensive programming in Java.
Prerequisites: Satisfaction of the Entry-Level Mathematics requirement.
Course Type: Lower division required course
Specific Goals for CS 107
Course-Level Student Learning Outcomes
The objectives of CS 107 (Introduction to Programming) are for students to:
1. Understand the design methods for basic Java computer programs.
2. Understand the importance of the underlying data representations of numeric values, strings,
true/false (Boolean) data and how it affects operations performed on that data.
3. Understand and use control structures comprising declaration, assignment, decision, and repetition
to solve a problem that can be modeled in software.
4. Learn how to write and evaluate Boolean logical expressions and statements.
5. Be able to work in a group setting to examine, modify and test source code segments.
6. Understand how data is represented in computer memory and storage, and to construct data
conversion statements to maintain integrity of the data
7. Understand how to construct mathematical expressions in a computer language.
8. Understand the use of modularity to isolate small procedures within a larger programming domain
for purposes of readability, encapsulation, and code re-use.
9. Understand the techniques that can be used to select a set of values to test program logic.
10. Be able to use UNIX shell commands to create, modify, delete, store, compile, and run Java programs.
11. Understand the structures that provide storage of a collection of same type data elements and to be
able to use basic methods that work on those collections.
12. Understand how to recognize syntax warnings and to systematically resolve any coding errors.
Relationship to CS Program Course Outcomes
CS 107 addresses the following CS Program course outcomes:
a) An ability to apply knowledge of computing and mathematics appropriate to the program’s student
outcomes and to the discipline
b) An ability to analyze a problem, and identify and define the computing requirements appropriate to
its solution
c) An ability to design, implement, and evaluate a computer-based system, process, component, or
program to meet desired needs
d) An ability to function effectively on teams to accomplish a common goal
e) An ability to use current techniques, skills, and tools necessary for computing practice.
Topics Covered
The following topics are covered in CS 107:
1. Overview of computers and programming languages.
2. Introduction to UNIX, text editors, and the programming process.
3. Java data types, variables, arithmetic, standard input/output.
4. Syntax and logic defect detection techniques.
5. Java conditional statements, data type conversions.
6. Methods for program design.
7. Java control structures: conditional and iterative constructs.
8. Java methods.
9. Java arrays and strings.
10. Java exception handling and file input/output.
11. Introduction to object-oriented constructs.
12. Java objects and classes.
Special Assistance
Special Assistance: If you are a student with a disability and believe you will need accommodations for this class, it
is your responsibility to contact Student Disability Services at (619) 594-6473. To avoid any delay in the receipt of
your accommodations, you should contact Student Disability Services as soon as possible. Please note that
accommodations are not retroactive, and that accommodations based upon disability cannot be provided until you
have presented your instructor with an accommodation letter from Student Disability Services. Your cooperation is
appreciated.
Course Structure and Conduct
Style of the Course: lecture, in-class group learning activities, individual programming assignments
Technology Utilized in the Course: Blackboard, Java IDE, SDSU server rohan class accounts and development
environment, SSH connection utilities
Programming Assignments and Exams
Programming assignments: There will be eight (8) programming assignments (lab exercises) throughout the
semester. You are required to follow certain coding guidelines which will be outlined in class and on assignments.
Programming work is to be done on an individual basis. All programming assignments will be submitted online and
a matching hard copy submitted in class. Assignments turned in after the start of class on the due date will be
counted late and assessed a late penalty.
Midterm: The two midterm exams will be closed book/closed notes and will focus on applying techniques and
methodologies to various types of Java constructs and problems. Questions on the tests will come from the
textbook, Course Reader, and lecture notes. Computers/laptops and cellphones cannot be used during exams.
Students are NOT to collaborate with anyone except the instructor when working on a midterm exam. Once an
exam starts, students cannot leave and then return to the test room. Once a student leaves the test room, he/she
may not work further on the exam.
Final Exam: The final exam is listed in the SDSU Final Exam Schedule under "Group Finals" not under "TTH
Classes." See http://arweb.sdsu.edu/es/registrar/finalexams/14_fall.html#group.
Course Assessment and Grading
 Class Participation
10%
 Programs
40%
 Midterms
30%
 Final Exam
20%
~25 group exercises @ ~4 points each
8 @ 20-30 points each
2 @ 100 points each
1 @ 100 points
= 100 weighted points
= 400 weighted points
= 300 weighted points
= 200 weighted points
Your final grade in the class is determined by the total number of points you earn on ALL work in the course, as a
percentage of the total number of points earned by the top score in the class, as listed below.
Note: To accommodate students whose course points end up "very close to" the next-higher letter grade, the
standard grades table has been "adjusted" below. These adjusted percentages will be a strict limit, since they
already include a curve, and already include margins for grades "very close to" the next-higher letter grade.
A
AB+
B
BC+

93.0
90.0
87.0
83.0
80.0
77.0
<=
<=
<=
<=
<=
<=
score
score
score
score
score
score
<=
<
<
<
<
<
100
93
90
87
83
80
C
CD+
D
DF
73.0
70.0
67.0
63.0
60.0
0
<=
<=
<=
<=
<=
<=
score
score
score
score
score
score
<
<
<
<
<
<
77
73
70
67
63
60
Excused Absence Make-up Policies: Unless a compelling reason exists (“compelling” will be determined
by me), failure to appear for an exam at the indicated date and time will result in a zero score.
Other Course Policies
1.
2.
Adding/Dropping Procedures: Students that do not show up the first week of class will be dropped at the
end of the first week. Students will be allowed to add the course based on space available, provided they
have attended all lectures from the first week of class. Last day for students to add or drop class:
9/8/2014.
Cheating/Plagiarism: You are free to discuss ideas and strategies for approaching problems with others,
but each student must complete his/her own work. Cheating and plagiarism WILL NOT BE TOLERATED. If
a student is found cheating or plagiarizing material written by someone else (including information posted
on websites), that student will fail this course and should expect to face disciplinary proceedings.
3.
Extra Credit Policy: If you are having problems with the assignments or tests, contact the instructor as
soon as possible. It will NOT be possible to earn extra credit to improve a poor grade at the end of the
semester. There may be opportunities for extra credit during the semester that are related to additional
programming assignments.
4.
Classroom Focus: If you MUST bring a cell phone or pager to class, set it to the vibrate mode and step out
of the room to take any necessary calls. PLEASE limit this to emergency/critical situations only.
Course Calendar
Approximate Due Dates for Major Assignments and Exams
2014
26-Aug
28-Aug
2-Sep
4-Sep
9-Sep
11-Sep
16-Sep
18-Sep
23-Sep
25-Sep
30-Sep
2-Oct
7-Oct
9-Oct
14-Oct
16-Oct
21-Oct
23-Oct
28-Oct
30-Oct
4-Nov
6-Nov
11-Nov
13-Nov
18-Nov
20-Nov
25-Nov
27-Nov
2-Dec
4-Dec
9-Dec
11-Dec
Lecture topic
Group
Exercise
Alternate
Group Ex
Introduction to course
I1
Survey
Introduction to Java
I2
Ch 1; RevEx #2,7; ProgEx #5,9
Using Java IDE
Java 1a
Computer accounts
B1
Java 1b
Java 2
Conditional statements
Assignment
Reading/Activity
Date
Asgn
Date
Due
Survey
L0
Ch 2: RevEx 1-4, 6,8-10,21
B2
B2
S1
P1
S2
S1
P1
T1
L1
L0
L2
L1
Ch 3
Selection1.ppt
L2
Midterm I
S2
Iteration
T2
Ch 4
P2
Iteration1.ppt
S3
Iteration2.ppt
P4 or S4
Methods
L3
P3
Iteration3.ppt
T3
Iteration4.ppt
T3
P4
Ch 5
P3
B3
L4
L3
L5
L4
L6
L5
L7
L6
L8
L7
B3
Midterm II
Arrays
P6
Ch 6
S6
No class: Veterans Day
P10a
P10b
S7a
S7
No class: Thanksgiving Break
Objects/Classes
S7b
P11
Ch 7
B4
L8
P7
Review
Group Final 1300-1500 Important! CS 107 is listed in the SDSU Final Exam Schedule under "Group Finals" not under
13-Dec "TTH Classes." See http://arweb.sdsu.edu/es/registrar/finalexams/14_fall.html#group.
Download