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