COSC110 - Introduction to Computer Science

Fall, 2009

pages.central.edu/emp/fyfes/courses/IntroCS/



REQUIRED TEXTS:

Course Packet by Mark Johnson. Available at the bookstore.

Various articles as provided.


INSTRUCTOR: Stephen Fyfe OFFICE: 231 Vermeer Science Center
PHONE: 628-5305
HOME 628-9955
EMAIL: fyfes@central.edu
OFFICE HOURS: MTWRF 11:00 - 12:00
Other times by appointment, or just stop in

COURSE DESCRIPTION: Introduction to the fundamental ideas and techniques of computer science. Introductory programming topics such as variables, sequence, selection, repetition and objects will be covered. Students will spend a significant amount of time out of class writing and debugging code in the Python programming language.


COURSE OBJECTIVES: The objectives for this course include:

  1. Students will be able to design and implement solutions to small problems from a variety of problem domains.
  2. Students will understand basic algorithms, control mechanisms and storage structures.
  3. Students will be able to use appropriate abstraction techniques.
  4. Students will understand code execution and the state of the machine.
  5. Students will be able to communicate the validity of their solutions.
  6. Students will be exposed to other aspects of the discipline of computer science such as hardware structure, operating systems, and social issues.

COURSE PROCEDURES: This course will include lecture, discussion, and laboratory work. Class time will be spent lecturing and discussing material from the texts, homework questions, and programming projects related to the current topic.  A common format for each class will be a short lecture covering the topic followed by some lab work to apply the material being covered. This will typically include some homework that will include some reading, written exercises, and hand-on exercises.

This course is being set up to involve students in the course through homework, labs, programming assignments, and class discussions EVERY DAY. In this course it is almost always better to spend a little bit of time every day with the course, rather than trying to complete the course requirements using large blocks of time less often.

Much of the reading for this course will be different than other reading you have done. It will be interactive reading that involves reading and working on the computer. You should try out some of the concepts you read as you read them.

Various articles surveying the field of computer science will be assigned throughout the semester. Students will be expected to read the articles and respond to a set of questions about those articles.


GRADING PROCEDURES: Students will be evaluated on their understanding of the concepts being covered in class, and their ability to apply those concepts in homework problems and programming projects.

The final grade will be determined by the following distribution:

Homework 30%
Articles, Questions and Class Participation 10%
3 Tests 45%
Final Exam 15%
and the following TENTATIVE scale will be used to determine the final grade
94 - 100 A 73 - 76 C
90 - 93 A- 70 - 72 C-
87 - 89 B+ 65 - 69 D+
83 - 86 B 60 - 64 D
80 - 82 B- 55 - 59 D-
77 - 79 C+ 00 - 54 F
Homework and exercises will be due by class time on the day they are due so that they may be discussed in class that day. Late work will be accepted, but will lose points at the discretion of the instructor. After an assignment or project has been discussed in class, the late penalty will be severe (at least 1/2 the points).

Notification of participation in college sanctioned events. Mock Trail participants, choir tour participants, athletes, and others who must miss a class for participating in a college sanctioned event are expected to notify me in advance and complete work including tests in advance of the absence. It is the student's responsibility to communicate with me in advance regarding their absences and determine a schedule for make up work.

Academic Honesty. Collaboration in Computer Science, as in almost any field, is very important. It is important that individual students learn the material. When working on homework assignments, you are encouraged to discuss your answers with other students. However, you should understand the answers you are turning in! When developing a program it is often beneficial to talk with others to get their input, however you should not be turning in the work of another individual or group. It is acceptable to look at another individuals code if you are assisting them. You should not, however, let someone look at your code in order to show them how you did it, or to give them specific instructions on how they should change their code (other than to find syntactical errors). If you are getting help, you should not be looking at someone else's code!

Plagiarism and cheating of any form are serious offenses and may result in an F for the assignment, the course, or expulsion from the college. The details of Central's Academic Integrity policy are found in the Student Handbook, on the web. A copy will be sent to you via e-mail during the first week of the semester. It is your responsibility to read and understand the contents of that policy before you submit work to be graded. Questions regarding the policies and enforcement of the policies may be addressed to me during class or during office hours.


ADA Policy
Central College abides by interpretations of the Americans with Disabilities Act and Section 504 of the Rehabilitation Act of 1973 that stipulates no student shall be denied the benefits of an education “solely by reason of a handicap.” Disabilities covered by law include, but are not limited to, learning disabilities, hearing, sight or mobility impairments, and other health related impairments. If you have a documented disability that may have some impact on your work in this class and for which you may require accommodations, please see me and Nancy Kroese, Director of Student Support Services and Disability Services Coordinator, (x5247) so that such accommodations may be arranged.


COURSE SCHEDULE: The following is a TENTATIVE order in which the topics of the class will be covered. Changes may be made during the semester as needed. Check the webpage for links to exercises and assignments for more details and information about a specific assignment.

Week Topic Reading Exercises and Homework
1 Introduction to computer science
Introduction to programming
Introduction to Python - Assignment and Memory
Sections 1 - 2 W: Section 1 - Exercises 2 - 6 (Ungraded)
F: Section 2 (due Wed 9/2)
2 Python Programming environment
Functions
Python programs - Input, Output, functions, main function
Computer Memory and Functions
Computer Architecture - Fetch Execute cycle
Repetition
Sections 3 - 5 W: Section 3 Exercises 3.12 and 3.13 (10 pts due Fri 9/4)
F: Section 5 Exercises 5.1, 5.2, 5.7 and 5.8 (20 pts due Wed 9/9)
Ubiquitous computing articles (due Fri 9/11)
3 (Labor Day Week) Accumulator loops
Nested loops
Sections 6 and 7 W: Section 6(Due Fri)
F: Section 7(Due Wed 9/16)
4 Computer Memory
Selection and Conditions
Section 8 - 10 F: Section 9 and 10 (Due Wed 9/23)
5 While loops
Random Numbers
Computer Memory
Sections 11 - 13 W: Section 12 Exercises 12.6, 12.7, 12.8 (due Fri, 10 points)
F: More Section 12
Computer Architecture
6 Review
TEST 1
Introduction to Strings and Objects
Sections 14 -15
7 String methods
Sequences and lists and permutations
Sections Section 16 - 18 M: Exercises 16.2 and 16.4 (due Wed. 10 points)
W: Exercise 17.6 (due Fri 5 points)
F: Computer Networking Articles (due Wed 10/14)
Section 18 Exercise 6 - Add a main function that tests your function on different lists (due Mon 5 points)
8 (Fall Break week) Eliza Section 19
9 File Processing and Dictionaries
Hangman
sections 20 - 22 M: Exercises 20.3 and 20.4/5 (due Wed. 10 points)
W: Computer Security articles
F:
10 Mutable vs Immutable Objects
Review
TEST II
Sections 23 - 24 M: Exercise 21.4 (due Wed. 5 points)
HCI articles
11 Images Introduction
RGB and PIL
Changing Color
Sections 25 - 27 M:
W: Exercise 26.2 and 26.3 (due Fri. 10 points)
F: More Section 26
12 Image Luminance, Size, Orientation and Filters Sections 28 - 32 M:
W: Exercise 27.7 and 28.1 (due Fri. 10 points)
F:
13 More Images Section 30 and 32 M:
W: Exercises 29.7, 30.6 and 32.4 (due Mon. 15 points)
Information Society articles
14 (Thanksgiving week) OOP
15 OOP
GUIs
TEST III
Sections 35 and 36
16 OOP
GUIs
Sections 37 - 39
17 Final Exam