CIS 122

Fall 2012

 

 

Syllabus

Schedule

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Course Information

  • CIS 122 Introduction to Programming and Algorithms
    Fall 2012
  • 12.00-13.20, MCK 125
    CRN: 12258
  • Instructor: Dave Wilkins
    Office: 139 Deschutes
    Hours: Tue, Thur: 1:30 - 3:00 pm & by appt.
    davew@cs.uoregon.edu

Course Objectives

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

Textbook

Practical Programming: An Introduction to Computer Science Using Python, Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson. The Pragmatic Bookshelf, 2009.

 

Web Site

cscircles.cemc.uwaterloo.ca

Exercises with explanations, hints and a visualizer to let you see what is happening as your program runs.

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.

 

  • Keep up with the reading.

 

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

 

  • Do not fall behind; start projects early.

 

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

 

  • Take advantage of office hours.

 

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

 

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 up to 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, know 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 summaries 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.

The midterm exam will be given in class during a regular class period.

Homework, based on your reading and lab experience, will be due most weeks.
You will keep a journal of both errors and successes. When you get stuck in a lab project, check out your journal - you may well be making a mistake you have made before.
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.

After the first week of the term, 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 or lab.

Email is a good way to pose short questions that have short answers.

Get personal help in class, lab, and office hours

 

To receive the most benefit from this course, always attend class and lab.

 

If you can arrange your schedule to be able to attend one or more office hours per week, that is also helpful.

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. At the end of the term, the programming project and the quiz with the lowest grade will be dropped, i.e., will not figure into the final 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. Taking turns in writer/reviewer (sometimes called "driver/navigator") roles can work well. Others may prefer for partners to work side-by-side at their own keyboards.

 

What does not work well is for one person to always be at the keyboard while the partner watches. 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.

The best way to learn to program is by programming!


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 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 - 30%
Homework and Journal - 10%
Midterm Exam - 30%
Final Exam (cumulative) - 30%

We anticipate there will be approximately 8 projects. At the end of the term, the project with the lowest grade will be dropped, i.e., will not figure into the final grade.

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 may also be available on project "challenges".

Extra credit is mainly for fun, though it may be used (only) in the cases of borderline grades.

A - 90%
B - 80%
C - 70%
P - 67%
D - 65%

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