Computer Science 110C
Programming Fundamentals II
Spring 2005
Description:
Analysis and design of computer algorithms and the underlying data
structures using an object-oriented approach. Analysis in the timing
and efficiency of algorithms. Study of lists, stacks, queues, trees,
searching, sorting, and recursion. Introduction to graphs, tables,
hashing, and direct access files. Further study of abstract types.
Prerequisite:
CS 110B
Times:
TR 5:10-7:00 pm
Instructor:
Steve Abensohn (pronounced AY'-ben-sun)
Office:
Batmale Hall, Room 460
239-3747
Office Hours:
Tuesday 2:00-3:00 pm
Thursday 2:30-3:30 p.m.
E-mail Address:
sabensoh@ccsf.edu
Web Address:
http://fog.ccsf.edu/~sabensoh
Texts:
(Required)
Frank M. Carrano, Data Abstraction and Problem Solving
With C++: Walls and Mirrors, 4th Edition, 2005.
CS 110C Supplement (you can download this from the Web
and print it or you may purchase this at the bookstore).
Notes:
(Optional)
Partial notes for some chapters are available on the Web.
Software:
aCC compiler on hills using the -AA option (aCC -AA). Exams will
require code that either follows the textbook or works under the aCC
compiler as listed above.
Grading:
Homework:
Labs:
Midterms (2) + Final:
Submitted work:
Submit all homework and labs on paper. Please do not use paper
clips with submitted work.
10%
20%
70%
-1-
CS 110C - First Day Handout
2/12/2016
Homework:
There will be 9-10 homework assignments. There will be two
components to the grade for each homework assignment, based
upon: (1) the number of problems completed (whether or not the
answers are correct) and (2) the correctness of part of the homework
assignment (i.e., spot check). These two components carry equal
weight. The lowest two homework scores will be dropped.
Labs:
There will be 5 labs. Your lowest lab score will be dropped.
Late Policy:
Homework and lab assignments are due at the beginning of class on
the assigned due dates. Assignments that are turned in late will be
penalized (10% of total possible points). An assignment that is
turned in after I have begun going over its solution in class
(whether or not you are present) will receive no credit. An
assignment that is turned in after I have returned corresponding
graded assignments to any other students will receive no credit.
No late work will be accepted after the final.
Holidays:
Class will not meet on the following dates:
Saturday, March 26 through
Friday, April 1
Spring Vacation
Phones & Pagers: Please silence all phones and electronic devices at the beginning of
class.
Exam Dates (midterm exam dates subject to revision):
First midterm:
Second midterm:
Final exam:
Thursday, March 3
Thursday, April 14
Thursday, May 26
Drop and Withdrawal Dates
February 11
Last day to drop (no notation will appear on your permanent record)
April 8
Last day for withdrawal (a "W" will appear on your permanent record)
-2-
CS 110C - First Day Handout
2/12/2016
Syllabus
The topics (and order and number of topics) are subject to change.
Unit
Topic
Unit 1
Principles of Programming and
Software Engineering
Recursion
The List ADT, Array- and
Pointer-Based Implementations
Stacks
Queues
More on Recursion
Unit 2
Unit 3
Unit 4
Unit 5
Unit 6
Unit 7
Unit 8
Unit 9
Unit 10
Time permitting:
Chapter in Text
Class Relationships
Sorting Algorithms and Efficiency
Trees
Further Topics
a) Introduction to Tables
b) Introduction to Hashing
c) File Access and Introduction
to External Sorting
d) Introduction to Graphs
e) Introduction to Heaps
Ch. 1
Ch. 2
Chs. 3, 4
Ch. 6
Ch. 7
App. D, Ch. 2 (pp. 92-97),
Ch. 5 (pp. 243-245, 265-268)
Ch. 8
Ch. 9
Ch. 10
Ch. 11 (pp. 590-611)
Ch. 12 (pp. 691-712)
Ch. 14 (pp. 772-782)
Ch. 13
Ch. 11 (pp. 611-631)
Attendance
Except for the first two class sessions and checking for registration, I do not take
attendance for this course. Attendance, drops, and withdrawals are your responsibility.
If you miss any class or any part of any class, you are responsible for what was covered
in class. If you miss an exam, see the policies stated in the next section.
Exams
If you miss both the first and the second midterms, you may be withdrawn
from the course. However, if you want to withdraw from the class, submit the
appropriate form and do not rely upon me to do so.
All exams count equally. I do not give makeup exams. If you miss one of the
two midterms, then I will drop the missed exam. If (1) you take all three exams, and
(2) your lowest score is one of your two midterms, then I will drop your lowest exam.
I will not drop your final exam. If I drop an exam, your remaining midterm and final will
count equally.
-3-
CS 110C - First Day Handout
2/12/2016
Examples:
Exam 1
Exam 2
Final
Average
70
80
80
70
80
70
90
Absent
90
90
70
90
85 (Exam 1 dropped)
85 (Exam 2 dropped)
80 (No exams dropped)
80
You must take the final exam for this course. If you do not take the final exam,
you will receive a zero for the final.
Grades
Grades will be assigned as follows (based on 100 total possible points for the
whole semester):
90.00-100
80.00-89.99
70.00-79.99
60.00-69.99
Below 60.00
A
B
C
D
F
Copyright Enforcement; CCSF Guidelines for lab use
Software in use in the lab and printed resource materials are copyrighted with all
rights reserved except when explicitly described as public domain. Under copyright
laws, these items may not be copied, photocopied, reproduced or reduced to any
electronic medium, in whole or in part. Any violation or attempt to violate copyright
laws may result in disciplinary action or lawsuit by the college. The ICL staff enforces
the following rules:
No unauthorized copying of programs.
Don't copy programs from hard disks in the lab (except for shareware/freeware
explicitly authorized on lab menus)
Don't make copies of programs that you cannot prove you own.
No use of unauthorized programs. Authorized programs are: (1) Programs set up
for class use in the lab and legally owned by the college, or (2) Programs that you legally
own. You will be asked to provide proof of ownership (registration card or sales slip) for
any program not owned by the lab that you use or copy.
Violation of copyright will result in disciplinary action by the college.
-4-
CS 110C - First Day Handout
2/12/2016