SYLLABUS
CS 161:
Introduction to Computer Science 1
Winter
2007
Prerequisite: |
Math 111 or consent of instructor |
|
|
Instructor:
|
Karla Steinbrugge Fant |
E-mail:
|
karlaf@cs.pdx.edu
|
Office hours: |
|
|
|
Texts:
|
D.S. Malik, C++
Programming: From Problem Analysis To Program Design, Course Technology. |
|
|
|
Russell Shackelford, An Introduction to
Computing & Algorithms, Addison-Wesley. |
|
|
Hardware: |
All
programs are to be implemented and tested on odin
or the cs unix systems. |
Compiler: |
C++
language implemented by the g++
compiler. |
|
|
Lecture Notes: |
Lecture
notes and course power point slides are on the class web site: http://www.cs.pdx.edu/~karlaf/CS161_Winter07.html |
|
|
Handouts: |
All handouts, course
outline, and programming assignments can be retrieved from the web at: |
|
|
|
|
|
|
Disabilities: |
If you have a
disability and are in need of academic |
|
accommodations, please
notify the instructor immediately to arrange needed support |
|
|
Important Web Sites
Here are the links you will need:
1.
Frequent the CS161’s
Home page: CS161
Fall 06 Web Site
a.
For up to the
minute announcements
b.
TA office
hours
c.
Handouts and
Assignments
d.
Course
Lecture Notes and Course Slides
2.
Weekly login to WebCT: http://psuonline.pdx.edu/
a.
Your password
should be the same as your odin
password.
b.
Weekly participate in online discussions.
c.
Post questions you might have here – for class
discussion.
d.
Check your
grades
e.
Check the
grade book to make sure your program’s have been
received.
f.
Use the
calendar tool to keep track of when assignments are due.
Questions?
If you have questions, the best
approach is to post messages on WebCT or send email directly to karlaf@cs.pdx.edu. Office hours listed
on this syllabus are also highly recommended. When coming to office hours,
please make sure to bring a hardcopy of your program!
Electronic mail works the best if you
have a question that you encounter as you work on the programming assignments.
Please be advised that questions should be clearly formulated and it should be
clear from the question that you have attempted to solve the problem on your
own. Do not, unless explicitly asked by the Instructor, simply email your
program and expect a response! Instead, talk about what problems you are
encountering and what you have done to make progress.
Course Description:
Introduction to
fundamental concepts of computer science. Problem solving, algorithm and program design, data types, control
structures, subprograms. Surveys current social and ethical
aspects of computer science.
This course is primarily designed for CS majors.
Goals:
To introduce
students to the fundamental concepts of computing. Problem solving, the design of algorithms for
solutions, and the translation of tested algorithms into the grammar of a
high-level computer language are emphasized. Students are encouraged to develop
a consistent programming style and a systematic method of internal program
documentation.
This course is not just a programming or C++
class!
This course introduces the software
life cycle along with the goals of systems design; reliable, modifiable,
understandable, and efficient program development is emphasized. Students gain
experience with design notations using data flow diagrams and structure charts.
Computer ethics are introduced with an analysis of the nature and social impact
of computer technology; this is emphasized using example cases and integrating
ethical issues into at least one project and exams.
Computing Environment:
The Computer Services Sequent (ODIN)
will be used for all assignments. The C++ language as implemented by the ‘g++’
compiler on ODIN (odin.pdx.edu) will be used for assignments. Minimal UNIX
instruction will be given in class. PSU Computer Services schedules UNIX
orientation classes. Students may choose to do their initial development at
home on a PC, however, all programming assignments
must run on ODIN and will be graded based on their execution on ODIN. The
excuse: but it runs at home on my PC
will not be accepted. In fact, it may take some extra time to port an
assignment that runs on a PC to ODIN and is not recommended for first time
users. As such, extra time should be allocated. In addition, make sure that
your programs are protected from outside access; unprotected files will be
treated as ‘cheating’. Therefore, follow these instructions to setup your
account:
As
you login, the first time this term, please type the following to setup your
CS161 account:
Enter
4 to exit the menu; now you are
at the unix prompt. Type:
mkdir cs161
When
you are ready to start working on your program, please work within the cs161
sub-directory. After you login in the future, type the following to get into
that directory;
cd cs161
All PSU students with a valid PSU ID
are eligible for a permanent account of ODIN. The
Topics:
Computer components, hardware, software (3 hrs)
Problem solving, algorithm design (5 hrs)
Data types, declarations and operations (5 hrs)
Control structures (5 hrs)
Subprograms, parameter passing (5 hrs)
Survey of social and ethical aspects (2 hrs)
Sorting and searching (2 hrs)
Application software development (3 hrs)
Projects/Homework:
A sample program will be used for
beginning practice with the computer system, followed by five graded
programming assignments:
• 6 programming
assignments to be turned in via email on the specified due date, emailed to
your instructor.
• These comprise
35% of your grade.
• 20% of each
programming assignment is based on the program style, comments, and documentation
provided with the program.
• Make sure to
follow the STYLE SHEET!
• NO LATE ASSIGNMENTS will be accepted. There will be situations where I will announce
changes to the due dates in class and posted on the web site.
• To email your
programs to me type the following (the double quotes are essential!):
mailx -s “My Name - Prog#1 Submission” karlaf@cs.pdx.edu
<prog1.cpp
(teacher’s email
address)
• Partial credit will be given for incomplete
work. This means that it is
better to turn in something, even if it doesn’t work. Remember, late
assignments are not accepted! If you find you are continually having problems
meeting the due dates, make an appointment.
• WebCT will be used in this class to facilitate online discussions used to help students become familiar and master the concepts of problem solving and program design. We will use this forum to create algorithms and discuss some of the syntax learned in class. Students are expected to login to WebCT every week and participate! Your participation is graded; it must be (a) meaningful, (b) instigate other discussion, (c) and be related to the class subject matter. Simply providing the entire solution and/or code will not promote a meaningful discussion! Also, logging in right before the discussion question is closed for the first time will not instigate other discussion and will be graded accordingly!
Grading and Examinations:
• Grades are based on the following percentages:
Participate
Weekly with Online Discussions |
5% |
Using
WebCT |
Midterm |
25% |
In class |
Comprehensive Final |
35% |
In class |
Study guides will be provided for the midterm and final,
with sample self-check (non-graded) exercises for you to practice. These are
available on the CS161 Fall06 web site.
Minimum Grade Requirements:
For a C or better in this class, you must have a
grade of 65% or better on the programming assignments and a grade of 65% or better on the examinations. In addition,
students must turn in each programming assignment to pass this class.
Policies:
• It is against department policy to give
final exams early (no exceptions!). Exams will all be closed book and closed
note exams. All makeup exams will be proctored through the testing services
center and cost students a fee ($10). All makeup exams must be pre-arranged
with your Instructor!
• Remember, assignments are
due on the due date. Failure to turn assignments in on time will result in a
zero for that assignment. Programs will not be accepted after the last day of
class.
• CHEATING: Each student is expected to
submit only original work; programs must compile and must produce output. Any person who violates these requirements
will receive a grade of F for the course and a letter will be sent to the head
of the CS Department. Note that the
instructor may ask any student to explain his/her program verbally.
The work you submit must
be your own. It is not acceptable to hand in assignments in which substantial
amounts of the material was done by someone else. You must be especially
careful that in the process of discussing problems with other students that they
do not inadvertently end up using your work.
• GRADING
will be done near 90% (A), 80% (B), and 65% (C). However, exact break points
for grades will depend upon the overall class results. For P/NP grade option, a
"pass" grade requires an overall grade of at least a C.
• INCOMPLETES will be given only when a minimal amount of work
remains to be completed, only for a valid reason and only for a fixed time
period. Do not expect an incomplete in this class.
• DROPPING: Students may drop the class at any time. Petitions will be signed
without question. However, this is a very time consuming class. If you do not
think you will have time, please drop immediately. CS161 is a very popular
class and there are other students who are waiting for a seat to become available.
Do yourself and them a favor and drop! If you are not a computer science major,
you may want to consider taking CS105, CS106, or CS107; these classes are not
as intensive!