25643 CSC 1012N - 0 - Introduction to Computer Science
This web page is http://www.bernstein-plus-sons.com/.dowling/CSC1012S04/CSC1012_Syllabus.html
Copyright © 2001 -- 2004 Herbert J. Bernstein and other parties. All rights reserved.
This is the syllabus for CSC 1012N for Spring 2004. As the course moves forward, students should return to this page frequently for updated material.
The fundamentals of computer science are covered, including the study of computer hardware -- the
machines -- and computer software -- the programs. The analysis of problems and debugging are studied
with applications to the natural sciences, mathematics, social sciences, and business.
Corequisite: MTH 1014.
The Fall 2003 sections are:
|Start Date||End Date||Days||Times||Bldg||Room|
|25643||CSC||1012N||0||4.00||Intro to Computer Science||Oakdale|
|Feb 01, 2004||May 17, 2004||TR||10:00 am - 12:00 pm||KSC||102A|
|Instructor(s): Herbert J. Bernstein|
Note that, in general, Dr. Bernstein will be at the Oakdale campus on Monday, Tuesday, Wednesday and Thursday afternoons and many times late on Wednesday evenings for Computer Club meetings. Meetings at the Brookhavne campus are by appointment only. If at all possible, please use email to schedule meetings in advance to avoid conflicts with other students and other obligations of the instructor.
For more information see http://www.bernstein-plus-sons.com/.dowling/HJB_Contact_Info.html.
Students are advised to bring the required text to every meeting of the class to help them in answering the daily quiz questions.
This three volume set is an essential reference for any serious computer scientist. There will be no specific assignments from Knuth, but reading it may well help in understanding the required text and the lectures.
Keeping clear written records is an important part of working in any scientific field. It is particularly important in Computer Science, where there are very complex, non-obvious decisions to make.
Students are expected to have their text book no later than the second week of class.
Attendance will be taken at all class meetings. All absences must be explained in writing (or via email). Students who miss 2 or more lectures must meet with the instructor to review their progress in the course. A midterm warning will be issued for any student who misses 2 or more lectures before the midterm, and such students will be advised to withdraw. Grades will be reduced for unexcused absences (see grading policy, below).
All students will be required to actively participate in classroom discussions and to work problems at the board in class. Many assignments will be given for drill. All completed assignments must be posted on the web on the due date. Students will be required to "turn in" some of those assigments for grading by sending an email with the appropriate URLs. Students will be given daily brief quizzes related to, but not necessarily identical to, earlier assignments. Quizzes will often be based on the assigned readings, asking questions that have not yet been discussed in class. This is intended to encourage students to do the assigned readings. Even though the quizzes are open-book quizzes, you are more likely to be able to find the answers if you have done the readings before coming to class. There will be no makeups for these quizzes.
Every student will be required to maintain a contemporaneous hardbound notebook recording all significant activities related to this course. The notebook should record the major topics discussed, questions about the subject matter of the course and the answers when they are found, and all activites related to the course project (see below). The instructor will borrow the notebooks several times during the year and grade them for thoroughness, clarity and relevance to the course. Only the portions of the notebook that are dated, written in the student's own hand and on the permanent pages of the notebook will be considered in the grading.
Students will be required to complete a course-related programming project, which is to be done as a group programming effort. The "default" project is to create an animation applet that shows a big fish swallowing a medium fish swallowing a smaller fish, etc.
An open-book midterm and an open-book, open computer/calculator final will be given. In general, no assignments will be accepted late and no makeups will be given for missed quizzes or examinations. Requests for exceptions to this policy will be considered only for the most pressing reasons (illness requiring hospitalization, death in the family, reserve call-up, etc.), must be submitted in writing in a timely manner, and will be granted only if the instructor has sound reason to believe that the student is highly likely to master the material of the course within the current semester.
The syllabus and the course objectives that follows are derived in part from the IEEE/ACM "Computing Curricula 2001 Computer Science" - Final Report - (December 15, 2001) by the Joint Task Force on Computing Curricula, IEEE Computer Society, Association for Computing Machinery.
Each student will be expected to display a solid grasp of programming by working on a suitable project. Students are encouraged to work in groups. Each member of each group will be required to explain to the class some major aspect of the group project, and to respond to questions from the class and from the instructor on the project. Students may propose their own project no later than the 4th week of class. If no project is proposed, the instructor will assign a project involving creation of an animation applet that shows a big fish swallowing a medium fish swallowing a smaller fish, etc.
Any work with computers requires some background in mathematical concepts and logical reasoning. Students are reminded that MTH1014 is a co-requisite for this course and that the skills in the MTH0001 course description are needed to be able to cope with the material presented.
There will be an ungraded diagnostic quiz given during the first lecture to help students understand how well prepared they are for the work in this course.
If your mathematical preparation is weak or nonexistent you may have serious difficulty doing the assignments for the course. In that case, intensive tutoring and/or delaying taking this course until your programming skills are better aligned to the demands of the course may be worth considering. Please discuss the matter with the instructor.
Please consult the course assigments page frequently.
You will be doing much of your work in an account that has been created for you on arcib.dowling.edu. However, you may wish to set up your own java development environment on your own computer. If it is a windows machine, here is what you will need:
The starting point for getting java software is Sun's java web page at http://java.sun.com/. You will need the Java 2 Platform (J2SE). The latest release is J2SE 1.4.2, which has excellent on-line documentation.
You will also need the CSLib package from the web site for the text book at http://www.mhhe.com/engcs/compsci/kamin and to install it.
You may also wish to use an appropriate source code editing system:
Download the UltraEdit editor
Download JCreator Freeware (version 2.50)
Using VNC via SSH: vnc.html
If you're interested in joining with your fellow students in developing and maintaining a web site, or pursuing your exploration of computer hardware or software, you might want to consider joining the Dowling Computer Club. Just follow the link for further details:
Dowling College Computer Club Web Site