Butte College Spring 2014
COURSE SYLLABUS
CSCI 21
Course Information
Course #/Control #: CSCI 21−2545
Course title: Programming and Algorithms II
Course description: This is a software engineering course, focused on the application of software engineering techniques for the design and development of large programs. Topics include data abstraction, data structures and associated algorithms, recursion, declaration models, and garbage collection. Students will learn to design, implement, test, and debug programs using an object-oriented language.
Student Learning Outcomes: Upon the satisfactory completion of this course, the student will be able to:
  1. Design and implement programs that use arrays, records/structs, strings, linked lists, stacks, queues, hash tables, and trees.
  2. Design, implement, test, and debug recursive functions and procedures.
  3. Evaluate the tradeoffs in lifetime management of data when using manual memory management versus reference counting or tracing garbage collection.
  4. Explain how abstraction mechanisms support the creation of reusable software components.
  5. Design, implement, test, and debug programs in an object-oriented language.
  6. Compare and contrast object-oriented analysis and design with structured analysis and design.
Class meeting time/place: MW 8:00-10:30am, AHPS 122
Course web page: http://foobt.net/spring2014/csci21_2545
Instructor Information
Instructor name: Boyd Trolinger
Office: MC 241
Office hours: MW 10:30am-12:00pm, MC 241; TTh 2:00-3:00pm, CHC 238; by appointment
Phone number: 895-2503
Email: jboydt@foobt.net
Course Materials
Text: Walter Savitch, "Absolute C++"
Course Requirements
Assigned reading: Textbook and online readings will be assigned over the course of the semester to reinforce lecture material.
Programming challenges: Students will complete and submit a programming challenge at the end of most class meetings. Programming challenges will be posted on the course website. Programming challenges must be submitted by email before 10:30am (the end of the class period) on their due date. No late programming challenges will be accepted, for any reason, though attendance chits you have earned (please read below) can be spent to earn a one week grace period on a limited number of programming challenges.
Programming projects: Students will complete and submit four (4) programming projects over the course of the semester. Successful completion of programming projects will require that students spend a significant amount of time outside of class writing and testing code and applications, and managing time to make steady and constant progress. Programming projects must be submitted by email to jboydt@foobt.net by midnight on their due date (the email must be time stamped no later than 12:00am). No late programming projects will be accepted, for any reason, though attendance chits you have earned (please read below) can be spent to earn a one week grace period on a limited number of programming projects.
Final challenge: There will be a final challenge on the day of the scheduled final exam for this course. The final challenge will consist of elements of programming challenges and programming projects.
Late work and attendance chits: Late work will not be accepted for programming challenges or programming projects for any reason. That said, you may spend attendance chits (if you have enough) to turn in assignments up to one week late without any deductions. You will earn one (1) attendance chit for each class that you attend (you will not earn an attendance chit if you arrive late for class). The cost for submitting a late programming challenge is five (5) attendance chits, and the cost for submitting a late programming project is fifteen (15) attendance chits. If you have attendance chits left over on the day of the final challenge, you will be given an opportunity to spend your left over chits to earn credit against the final challenge.
Participation/Drop policy: Regular attendance and active participation in this course is a requirement. The best learning environment for everyone is created when all students are present and engaged in the material. Any student who misses more than four (4) class meetings or four (4) assignments in a row (whichever comes first) will be dropped from the course. PLEASE NOTE: arriving late for class will be counted just the same as an absence.
Honesty and integrity: All of the work you do in this course must be your own, unless otherwise directed by the instructor (for example, pair or group activities). Cheating or plagiarism on any assignment will result in a zero for that assignment.
Grades  
Computing your semester grade: All semester grades are computed as the percentage of points you earned against the total possible points. Letter grades are awarded as follows -- A (90%), B (80%), C (70%), D (60%), F (below 60%). The levels and achievements (where applicable) are listed only to provide a rough guideline of your progress in your class and should not be considered the final determination of your grade.
Levels:
Level 10 (A*) : 7550 pts and higher (!C++ PRO!)
Level 9 (A) : 7155 pts and higher
Level 8 (B) : 6360 pts and higher
Level 7 (C) : 5565 pts and higher
Level 6 (D) : 4770 pts and higher
Level 5 : 3975 pts and higher (Level 5 and below earn F)
Level 4 : 3180 pts and higher
Level 3 : 2385 pts and higher
Level 2 : 1590 pts and higher
Level 1 : 795 pts and higher
Level 0 : below 795 points
 
Earning points: Programming challenges - 28 @ 150 pts each, max 4200 pts
Programming projects - 4 @ 750 pts each, max 3000 pts
Final challenge - 1 @ 750 pts, max 750 pts

Total possible - 7950 pts
Miscellaneous Information
Please review the Butte College Attendance Guidelines and Butte College Academic Honesty documents that detail official Butte College policy relevant to these matters.
 
A course outline is on file in the department office. If a student would like to have a copy, please request one from the instructor.
 
The Center for Academic Success (CAS) provides academic support services to Butte College students. It is located inside the Learning Resource Center on main campus and in CHC 230 and 231 at the Chico Center. CAS is open Monday through Thursday, 8:00 a.m. to 5:00, and Friday 8:00 a.m. to 3:00 p.m. on main campus. Hours for CAS at the Chico Center are Monday through Thursday, 9:00 a.m. to 2:00 p.m., Friday 9:00 a.m. to 12:00 p.m., and Monday evening, 5:00 p.m. to 8:00 p.m. Free services include Tutoring, Computer Labs, Workshops, Group Study Rooms on main campus, and TIP Sheets. Students may take a Critical Skills for College Success 1/2−unit course through CAS. For more information, go to www.butte.edu/cas.