Instructor: Michael Hennessy
michaelh@cs.uoregon.edu,
145 Deschutes Hall, 346-3487.
Office Hours: Click on Staff Information in
the Blackboard course menu to see all instructor and gtf office hours.
What is the central core of Computing? What is it that
distinguishes it from the separate subjects with which it is related? What is
the linking thread which gathers these disparate branches into a single discipline?
My answer to these questions is simple- it is the art of programming a computer.
It is the art of designing efficient and elegant methods of getting a computer
to solve problems, theoretical or practical, small or large, simple or complex.
It is the art of translating this design into an effective and accurate computer
program. - C.A.R. Hoare Computer Science is no more about computers than astronomy is about telescopes.- E. Dijkstra |
An algorithm is
a step-by-step problem-solving procedure. A program is
a series of instructions that a computer can
interpret and execute. Computer Science is the
study of algorithms and programs, including principles, practices, and engineering.
Algorithms and programs, therefore, will be our unifying theme in 122, just as energy
is a unifying theme for the study of Physics.
CIS 122 is a second course in Information Technolgy (IT) and applies the principles
of algorithmic problem-solving. You will learn "How to Solve
it by Computer"
by writing algorithms and programs in an object-oriented language (C++), in
an integrated development environment (IDE). MS Visual C++, AquaEmacs and Eclipse CDT are three examples of IDEs utilized in the course.
A Duck ID is a username and password, and you will need your Duck ID in class and lab. If you cannot connect to DuckWeb using your Duck ID, get assistance at MicroHelp 151 Mckenzie.
The course is intended for students with no prior programming experience in any language. Prerequisites: Mth 111, CIS 110.
For students who did not take CIS 110 at the University of Oregon, please see CIS 110 Course-Equivalency for CIS 122, below.
122 labs start week 1 and meet in the PC-lab, 026 Klamath. You can also work in 013 Kla, 101 Mck, the ITCs, and any other microlab on campus, as well as at home (if you have a computer with web access; pick up the Duckware CD at 151 Mck and install the network applications including SSH).
The course will:
For all of the above reasons, CIS 122 (>4) is in the Science Group and satisfies the B. Sci. math/computing requirement. Students are not required to take it for a grade to satisfy these requirements.
2 Exams (midterm & final) .. 50% Programming Projects ....... 30% Final Project .............. 20%Dates of the exams are on the class schedule; mark them on your calendar and set your alarms-- a missed exam is zero points. Required reading: Policy on Missed Exams.
The formula to compute your final grade for the course:
pct = 100 * (0.3 * YourProjPts/TtlProjPts + 0.2 * YourFPpts/FPpts + 0.5 * YourExamPts/TtlExamPts)
Keep copies of all your projects on uoregon.edu until your final grade is completely resolved. This can make the difference between passing and failing the course.
The 122 labs meet once a week in the PC-lab, where you will learn how to use our IDE (integrated development environment) to write, test and debug programs. You must have a working Duck ID for both class and lab.
The same development environment can used on your home computer.
You will archive all your 122 projects on uoregon.edu using SSH, a remote login/SFTP client available on the DuckWare CD (pick one up at Micro Services, 151 Mckenzie),