CSC 117 Introduction to Computer Science

Objectives

Professor


Textbook and Software


Attendance


Grades


Exams


Written Assignments


Rules on Giving/Getting Help


Homework Assignments




Objectives

  • To introduce the concepts of analysis and design in the context of an object-oriented language.
  • To implement Python programs with appropriate use of functions, selection, repetition, and data structures,
  • To learn how to add graphical effects to some of our programs
  • To study some of the basic ideas behind computing --algorithms, memory, programming lanaguages
  • To gain a basic understanding of the operation of the Internet and the World Wide Web
  • To be able to use HTML to construct a web page containing a form and write a CGI script to process the information.
  • To define and use classes to solve a significant problem
  • To explore the area of artificial intelligence and robotics by writing programs for autonomous robots
  • To look critically at some societal and ethical issues arising in the area of computing.

Professor

Dr. Christine Shannon 
Olin 115 
Phone: 5406 (Office) 238-7422 (Home) 
e-mail: shannon@centre.edu 
You might also be interested in visiting my home page at http://web.centre.edu/shannon/.

Office hours: I am generally on campus every day between 7:30 a.m. and 4 p.m. and often later than that.. If I am not in class, I am usually in my office or one of the computer labs. I will try to observe the following office hours and will notify you if I won't be available. 

M-W-F 8:00-10:00 a.m.
T-Th 1:00 - 2:30 p.m.

Please feel free to come by at other times and you are always welcome to make an appointment. 

 

Textbooks and Software

Zelle, John. Python Programming: An Introduction to Computer Science. Wilsonville, Oregon: Franklin, Beedle & Associates, 2004.

Spinello, Richard A. Cyberethics: Morality and Law in Cyberspace. 3rd ed.Sudbury, MA.: Jones and Bartlett Publishers, 2006.

Important Web sites:

Beginning python: http://wiki.python.org/moin/BeginnersGuide

The python home page: http://python.org

John Zelle's home page where you can get a copy of the graphics package http://mcsp.wartburg.edu/zelle/python/

HTML documentation: http://www.w3schools.com/html/default.asp

NQC Tutorial and Documentation:
http://bricxcc.sourceforge.net/nqc/
http://www.cs.uu.nl/people/markov/lego/tutorial.doc

 

Attendance 

I consider us a community of scholars. Each of us has responsibilities and if we all do our part we will all learn a lot. I will do my best to provide you with helpful discussions, explanations and lab exercises. I will grade your work promptly and except in rare cases you will have lab work and tests back at the next class. Projects sometimes take a little longer. This is a big class and because I collect work daily, the only way this is possible is for you to turn in all work on time. I DO NOT ACCEPT LATE WORK but there will be some grace at the end of the term. Unless there are some unusual circumstances most students miss at most a few days a term because of illness. This is generally covered by "grace". But I will make adjustments in case of entended illness.

I expect students to be present for all classes and labs. Please let me know in advance if you must be absent for a scheduled college activity. Illness might prevent you from being present for a couple of classes during the term but anything beyond that will probably have a detrimental effect on your grade. This class is being taught as an integrated lecture and lab. If you have an excused absence you may do the day's lab work on your own and submit the program files as usual. They should be on time. Those of you who must be absent for college sponsored activities should be particularly careful not to miss any other classes. It is very important that you be present for all examinations. If you have an unexcused absence you will receive a 0 for that day's lab work. You should however complete the work because you are responsible for knowing the content.

Documentation will be required before you are allowed to make up a test. . Only the Associate Dean can make exceptions to the final exam schedule. If you have a good reason to be absent from class, you are still responsible for the homework assignments. Except in the case of serious illness, all assignments and lab exercises are to be turned in on time.  You will be submitting your work through webCT and it will not accept work past the deadline

Grades

Your grade for the course will be determined by the following: 
Tests (3) 100 points each
Homework/Lab/Classwork  100 points 
Final Exam 150 points

Your final grade will be determined by the total number of points you accumulate out of the 550 possible points. The 100 point Homework/Lab/Classwork grade will be composed of the points you gain on programming assignments and projects as well as on a daily five point lab participation grade and any quizzes or work I ask you to do in class. Borderline cases will be determined by improvement on the final and participation in class. Students who are ill-prepared, miss class, or otherwise fail to live as responsible citizens will not get the benefit of any doubt. I will use a 15 point grading scale so that you are guaranteed an A or A- if you score 85 or above, a B-, B or B+ for 70-84, C-,C or C+ for 55-69 a D for 45-54 and anything lower is failing.

Exams

There will be three exams on Wed September 19, Wed October 17 and and Monday November 12. There will also be a cumulative final during the final exam period on Tuesday, December 4 . 

Written Assignments 

There will be reading assignments and/or exercises assigned each day. These will be discussed at the next class meeting and sometimes there will be a quiz/response based on the reading. There will also be some exercises, written responses to readings, and programming assignments which I will collect and grade. Programming assignments in this course will generally be fairly short. All work must be submitted on time. Late projects will be penalized 10% per day including weekends. I do not accept other assignments past the deadline but there will be some "grace" at the end of the semester.  Unless the project is specifically designated as a team project you are to work independently. You are responsible for safeguarding the security of your accounts. You should NEVER give your password to another person or permit someone to read your code (unless another member of YOUR team is checking your work.) You must give credit BY NAME to any person who assists you in completing an assignment. Be sure to give some indication of how much help you received. Failure to acknowledge such help is PLAGIARISM and will be dealt with accordingly. 

All students will include in the opening comment of their project a statement like: 

This is my own work except for the help from the persons whom I have noted above. I gave help to the following students: (list names). Follow with your signature. .

General Rules for Giving/Getting Help

If you are seeking help: Another person may read your code if you are trying to find a bug. You must acknowledge their help and indicate that they read your code as part of the documentation. You may not read another person's code but it is permissible to talk about the solution of the problem (not the actual code). Anyone with whom you discuss the problem, must be listed in your documentation. 

If you are giving help: You may read another person's code if you are looking for an error. It is their responsibility to list you as a resource. You may not allow another student to read your code "to get the idea". It is permissible to talk about your solution but be judicious about the hints you give. Again, the other student is responsible for listing your help in the documentation. You should indicate that you gave help to this student as partof the documentation of your own program.