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