CIS 122

Spring 2011

 

 

Home

Syllabus

Schedule

Announce

Links

Contacts

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Course Information

  • CIS 122 Introduction to Programming and Algorithms
    Spring 2011

    TR 12.00-13.20, GER 242
    CRN: 32006
  • GTF: Greg Bickerman
    Office: 241 Deschutes
    Hours: Mon. 10.30-11.30, Tues. 4.10-5, Wed. 10-11 (Klamath B-13) & by appt.
    122staff@cs.uoregon.edu
  • GTF: Getty Ritter
    Office: 228 Deschutes
    Hours: Mon. 2-3, Tues. 3-4, Fri. 12-1p (Klamath B-13) & by appt.
    122staff@cs.uoregon.edu

Course Objectives

  • Introduce computational problem solving.
  • Introduce computational thinking concepts.
  • Introduce programming in Python.
  • Encourage further interest in Computer Science.

Textbook

Python for Software Design: How to Think Like a Computer Scientist, Allen B. Downey, Cambridge University Press, 2009.

General Information and Policies

Tips for CIS 122 Students
Workload in CIS 122
Attendance
Programming Projects and Assignments
Pair Programming is OK
Consulting is OK
How to Submit Your Projects in Blackboard
How Your Final Grade is Calculated
Checking Your Grades
Missed Exams


Tips for CIS 122 Students

  • Attend class and lab regularly.

  • Attend extra labs for extra help; come early or stay late for between-labs help.

  • Take advantage of office hours.

  • Keep up with the reading.

  • Ask questions in class and lab. Everyone will be glad that you did.

  • Work "smart" and know when to ask for help (sooner rather than later).

  • Do not fall behind; start projects early.

Back to Top

Expected Workload for CIS 122

CIS 122 is an introduction to programming. Programming, like any other skill, requires an investment of time at the start, as you become familiar with the tools and methods of reasoning and practicing. You should plan on spending a sometimes significant amount of time on outside of classroom learning, in addition to attending class sessions and labs.

We design the course with the expectation that there will be 4-8 hours needed per week for outside of class work (reading, projects, assignments, exams). If CIS 122 is consistently taking more time than that, please let us know.

Back to Top


Attendance

Attendance is not required for either class or lab. However, you should be aware that attending class and lab is the only way to ensure access to all course information, materials, and activities. The nature of real-time, face-to-face interaction precludes complete replication outside of the original setting; class notes posted at the CIS 122 web site are general outlines rather than complete transcripts of classroom events. That is, both class and lab will certainly include course material and/or activities that are not available outside of those venues.

Some assignments may take place, either in part or in whole, in the classroom.

Labs provide a small class setting with lots of time for answering questions and one-on-one help, valuable to everyone and especially to beginning programmers.

Full credit for the first approximately 20% of problems on a project, e.g., 1/5 or 2/10, will be given when you attend that week's lab.

If you cannot attend your regularly scheduled lab, or if you want some extra time or help in the lab, you may attend any of the other labs. Please let me know by email ahead of time, so we can ensure there are enough seats and computers for everyone.

Office hours are a good place to ask questions and catch up on classroom material missed due to unavoidable emergencies or illness, but are not a substitute for a skipped class.

In sum, for you to receive the most benefit from this course, always attend class and lab.

Back to Top


Programming Projects and Assignments

In a one quarter programming class, knowledge is cumulative and the weeks go by quickly. Therefore, to receive credit, projects and assignments must be submitted by the due date. If this is an issue for you in any particular week, I am happy to make arrangements with you, if you contact me as soon as possible before the due date. At the end of the term, the programming project and assignment with the lowest grades will be dropped, i.e., will not figure into the final grade. An optional programming project (due during dead week) may be used to replace another project grade.

Back to Top


Pair Programming is OK

Pair Programming refers to a particular way of programming with a partner:

"... a practice in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, or test. ... One person is typing or writing, the other is continually reviewing the work. But, both are equal participants in the process." --All I Really Need to Know about Pair Programming I Learned in Kindergarten,Williams and Kessler, Communications of the ACM, May, 2000.

You may work with one partner on the programming projects. (Assignments are designed to be - and should be - done individually.) If you work as a team for programming projects, each individual should:

  • Understand the solution you are turning in (and be prepared to explain it).

  • Keep copies of all of the work on your own computer or computer space.

  • Submit your copy of the project files on Blackboard; use the comments section to identify your programming partner and also any other sources that contributed significantly to your solution.

Back to Top


Consulting is OK

You may get help from any source for the programming projects, as long as you:

  • Credit the source(s) (in the comments box of your Blackboard submission) of any and all significant help.

  • Understand the solution you are turning in (and be prepared to explain it).

  • Keep copies of all of the work on your own computer or computer space.

Back to Top


How to Submit Your Projects in Blackboard

Submit all projects on time. It is not possible to pass the course without completing the projects. Late projects are by prior arrangement only. The lowest project grade will be dropped at the end of the term.

From the menu on the left hand side of the screen, chooose "Projects". In the projects folder, choose "Submit Project X" where X=the number of the current project.

In Section 2 of the page that is displayed, scroll down to "Attach file" and choose "Browse My Computer".

Locate the file you need on your computer, and doubleclick on it. THe file name will appear on an "Attached Files" list that you will see. Repeat "Attach File" and "Browse" for as many files as you need to attach for the current project.

At the bottom of Section 2, you will see a "Comments" window. This is where you credit all of the sources of any help you may receive on this assignment, including your partner if you are working in a programming pair. This is also the place to include any feedback you may have about the assignment and/or any remaining questions you may have.

Scroll down to Section 3 and hit the "Submit" button. You may re-submit all or any part of your project up until the project deadline. Only the final submission will be graded.

Back to Top


How Your Final Grade is Calculated

The final grade for each student will be determined as follows:

Projects - 50%
Assignments - 10%
Midterm Exam - 15%
Final Exam - 25%

In addition to earning an overall passing score (67%), students must receive an average grade of at least 60% on the midterm and final exams to pass the course with a grade of D or better, and at least 65% to pass the course with a grade of P/C- or better.

We anticipate there will be approximately 8 projects and 5 assignments. At the end of the term, the project with the lowest grade and the assignment with the lowest grade will be dropped, i.e., will not figure into the final grade. Students may also re-submit any one project, or submit an optional week 9 project, by 5.00p on the last Tuesday of the term (week 10), to replace another project grade.

Full credit for the first approximately 20% of problems on a project, e.g., 1/5 or 2/10, will be given when you attend that week's lab.

Extra credit will be given to the first student who alerts me to any "bug" in any project or assignment. ("Bug" here refers to any significant error in Python example code or any other part of the project or assignment.)

Extra credit will be given to the first student who alerts me to any broken link at the class website or in Blackboard.

Extra credit points will be used only in the cases of borderline grades.

A - 90% or higher
B - 80% or higher
C - 70% or higher
D - 60% or higher

Back to Top


Checking Your Grades

Please check your grades regularly. If there is any error or omission (these things do happen), please let the instructor know sooner rather than later. The earlier I know what needs to be fixed, the easier and less time-consuming it is for everyone involved. An email can alert me to simple errors; for larger issues, please come to office hours or schedule an appointment.

In Blackboard, choose Tools Areas/My Grades to view your grade report. Grades should be posted within one week to 10 days after assignments are submitted. If you do not see your grade and it has been more than 10 days after the due date, please let me know.

A (!) in the gradebook means your project has been submitted but needs to be graded.
A (-) in the gradebook means your project has not been submitted.
Unsubmitted projects will receive no points.

Back to Top


Missed Exams

If you have a legitimate reason for missing an exam, please contact me in advance to make arrangements. If it is not possible to contact me in advance, then you must do so as soon as possible after the exam. No makeup exam will be given without instructor approval.

In fairness to all of the students in the class, you must have a justifiable and verifiable reason for missing the exam.

Back to Top