|
|
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
|
- 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
|
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
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
|
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 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
|
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
|
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
|
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
|
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
|
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
|
|
|
|