Syllabus for C Sc 127B Introduction to Computer Science

University of Arizona, Spring 2007


by Moksha Adyanthaya, Will Snavely, Zack Stephens, Josh Shickling, Rick Mercer

 

Catalog Description C Sc 127B (4) Continuation of C SC 127A. Topics include classes, sorting, algorithm analysis, recursion, program development, and implementation of abstract data types using linear structures and binary trees. Weekly laboratory. Prereq: C SC 127A, with a grade of C or better, B or better expected of Pre-CS majors. Credit allowed for C SC 127B or C SC 227 but not for both.

When/Where
Lectures on MWF @ 2:00-2:50 in BIO W 301. Recitation Sections are Thursday  or Friday at various times and locations (refer to your own schedule)

Web Site The course website has all current course information. It is updated almost daily with announcements, lecture outlines, and programming assignments. It is located at http://www.cs.arizona.edu/classes/cs127b/spring07/index.html

Instructor Rick Mercer http://www.cs.arizona.edu/people/mercer

Office Hours Gould Simpson  Whenever Rick's door is open (knock if it is closed) or by appointment: 520.621.6126 or mercer@cs.arizona.edu

 

Textbook: The book was written by your instructor and edited by Sabrina Burleigh. A hard copy version is available in the UofA bookstore (it should cost approximately $20.00). There is a 24-hour delay if they run out. It is also provided for free this semester online at http://www.cs.arizona.edu/classes/cs127b/fall07/ricksBook.html

Weekly Section: For the 4th unit, this course has a fifty-minute per week scheduled recitation section facilitated by your section leader. These sections have a variety of activities including a chance to review lecture material, ask questions in a small classroom setting (the largest section is 25 students), and develop algorithms and code as a whole or in small teams. All section leaders have taken C Sc courses with section leaders. They also participate in a credit course designed to learn how to be an effective section leader. Section leaders grade programming assignments and tests, develop and edit course materials, help make pedagogical decisions, keep the instructor up to-date with student progress, and provide assistance in the lab. Weekly section Attendance is part of your final grade.

Course Philosophy and Learning Objectives: The instructor facilitates lectures to help you learn the process of programming and guide you in developing skills that will serve you in this course, your future courses, and in industry. We ask you to take responsibility for your learning by coming to class every day, preparing for class, participating thoughtfully in all daily class activities, and respecting others in your team and your class as a whole. When you successfully complete this course, you will be able to

"Test-driven development was the most important thing I learned in college"
former student
now working as a software developer.

"When I told them I was doing unit testing, they made me the offer immediately", former student now working in industry.

Course Grade is based on the following weighted scale

Weights Letter Grade

35% Individual Programming Projects (ten planned)
35% Quizzes (drop lowest one)
15% In-class activities, section participation, homework 

        (32 planned, drop lowest three)
  5% Final Team Project (teams of 2)
10% Final Exam  Friday, 4-May 2:00-4:00 pm

A  >= 89.5%

B  79.5 to 89.4 

C  69.5 to 79.4

D  59.5 to 69.4

E  < 59.5

Quizzes Policies: A 20-minute quiz will be given in-class every other Friday, beginning January 26th (see specific dates below). Each quiz will be handed out promptly at 2:30 p.m. and collected at 2:50 p.m. Late arrivals will not be granted extra time.  No makeups allowed. The lowest quiz score will be dropped.

Quiz 1: Friday, 26-January
Quiz 2: Friday, 9-February
Quiz 3: Friday, 23-February
Quiz 4: Friday, 9-March
Quiz 5: Friday, 30-March
Quiz 6: Friday, 13-April
Quiz 7: Friday, 27-April

Late Days There are ten individual programming projects planned that will have their own specification, grading criteria, and due date. The planned due date/time will be every Tuesday @ 10:00pm beginning 23-Janurary. You are strongly encouraged to begin these projects on time. Why? Because when past students have been asked to give advice to you, the two most often repeated phrases are "Start the projects when they are assigned" and "Go to class".  Students are also strongly encouraged to turn in projects by their due date and time.  Why? Late projects take time from the next project and you could receive deductions.

Since exceptional circumstances do sometimes occur, each student may use up to a total of three (3) late days for programming assignments. A "late day" is defined as from five minutes up through 24 hours after the due date/time. Weekend and holidays count as late days. The three days may be used on any of the assignments, multiple late days may be used on one assignment. Once your late days are exhausted, work turned in late will receive a late deduction of 25 points per day (1 minute to 24 hours). This policy results in very few people who actually lose points due to late penalties while avoiding the need to seek us out to give us your reasons for lateness, which may be personal in nature. The final team project will have its own late policies.

In-Class Activities, Homework, Section Participation: There will be a collaborative activity with one other person about once per week during lecture. Both team members are responsible for the work turned in during these team activities. Both receive the same score. Because of this, we encourage you to look over and discuss the quality and accuracy of your work before it is turned in. All work handed in as team must include the name of each member of the team who took an active part in its production. Credit will be given only to those who have printed their names neatly. In-class team work by its nature cannot be made up.  The following subjective criteria will be applied when grading in-class and in section activities:

0 inadequate, inappropriate, or not handed in
1 attempted but inadequate because it is incomplete or mostly incorrect
2 adequate, complete, mostly correct
3 demonstrates substantial thought, complete, and virtually all correct

You will also be asked to complete a few homework assignments which will be graded on the same scale. We will also be taking attendance in section where each complete attendance will be 3, non-attendance 0, and leaving early or arriving late could be a 1 or 2 out of 3 (section leader's discretion). There will be  approximately 32 grades (including section attendance) on the scale of 0 to 3 that count as 15% of your final grade. We will be dropping the lowest 3 of these grades. It is possible to get seven zeros and still have over 90% for this part of your grade.

Computer Access/Setup: The CS Department has two labs with Window and Linux workstations plus a few Macs in Gould Simpson 228 and 930 that you may use to complete your programming projects. You must set up your account and log in at least once even if you are working at home. You will not be able to turn in your projects unless you get an account and log in. Therefore, it is important that you go to Gould-Simpson 9th floor to set up your computer account A.S.A.P. Go during normal business hours and follow the big yellow arrows and the instructions for setting up an account. Your lab access card should be available immediately after you read the rules and run the apply program. You must return this card at the end of the semester (or pay a $10.00 fee). Windows accounts are generated after 6:00 p.m. on the day run Apply. Don't expect to be able to log into a Windows workstation until the day after you get your account established (although you may be able to after 6:00pm on the same day).  

Software at Home: We will be using Java 5 and Eclipse 3.2 in the lab and in lecture. Both of these are free. Therefore, you can set up your home computer with the same tools we use in lab and in lecture. You will be able to use Windows, Linux, or a Mac to complete your work. See download instructions at http://www.cs.arizona.edu/classes/cs127b/spring07/javaDownloads.html 

Academic Integrity and Penalties: Programming assignments in this course require individual attention and effort to be of any benefit. Unless otherwise specified in the published assignment, all work is expected to be that of each student alone. You may not consult with others, except in ways specifically authorized by the course instructor. Students are responsible for understanding and complying with the University's Code of Academic Integrity. The Code is found at http://dos.web.arizona.edu/uapolicies/  The full text is available from the Office of the Dean of Students in Room 203 Old Main. Among other provisions, the Code demands that the work you submit is your own, and that graded programs and exams will not subsequently be tampered with. The Code also demands that you do not copy code when it is part of a published class assignment. It is immaterial whether the copying is done electronically, by retyping the code, looking at another's computer screen, or any other means.