UNIVERSITY OF DELAWARE -- DEPARTMENT OF COMPUTER AND INFORMATION SCIENCES

Course Syllabus CISC181
Introduction to Computer Science -- Fall 2009


Particulars Objectives Preqs Texts
Topics & Calendar Other Important Dates Attendance Grading Late Policies
Keeping up with the Work! Academic Honesty Faculty-Student Interaction

Course Particulars

Lecture: Tuesday/Thursday 11:00-12:15, 123 Sharp Lab

Lab: Section 020 -- Thursday, 12:20-1:10, 101D Pearson
Section 021 - Thursday, 1:25-2:15, 101D Pearson
Section 022 - Thursday, 2:30-3:20, 101D Pearson
2010 Course Project Number

Instructor: Dr. Kathy McCoy
Office: 201 77-79 E. Del. Ave
Hours: Tuesday 3:30-5:00pm; Thursday 9:00-10:30am
email: mccoy@cis.udel.edu
Phone: 831-1956

Teaching Assistants:

Section 020: Nicholas Messina
Office: 103 Smith Hall
Hours: Friday, 12:00-2:00pm
email: nmessina@UDel.Edu

Section 021: Conor Gilsenan
Office: 103 Smith Hall
Hours: Tuesday 2:00-3:00pm
email: conorgil@UDel.Edu

Section 022: Tim Walsh
Office: 103 Smith Hall
Hours: Monday 4:00-5:30pm; Wednesday 4:00-5:30pm
email: hedgehog@UDel.Edu
Back to Top of Syllabus

Course Objectives

The primary objective of this course is to begin to study computer science as a discipline. We lay foundational concepts necessary for effective practical application in the realm of software engineering and for more theoretical endeavors which underly such practical applications.

Our main emphasis will be on the study of the programming language C++, an extension of the widely used C language. C++ contains many features to support modern concepts in software engineering --- concepts that are not a part of C.

Our objectives in CISC 181 will be to

Back to Top of Syllabus

Prerequisites

The prerequisites for this course include a C- or better in either cisc108 or cisc106. Both courses have introduced students tp programming in a high level language. Students must also have (or will quickly acquire) working knowledge of a text editor such as emacs, or vi (we will use emacs in this class). It is also assumed that students have been introduced to the unix operating system and to the computing environment here at the University of Delaware.
 

Back to Top of Syllabus

Texts

Required
Walter Savitch Absolute C++ , Fourth Edition, Addison-Wesley (2010).
The book has a companion website with some interesting resources for students. It can be found at http://wps.aw.com/aw_savitch_abc_4s/

You will need a unix text or resources as well. The one selected for the course is Andersen, Just Enough Unix Fifth Edition, 2006, MCG.
This book has been recommended to me for your use. Other books/resources are also available. You will need to be able to use unix well and you will continue to use it throughout the rest of your time in this department. Investing some time now will pay off.

I am going to use clickers in the class for class participation. You will need to get a clicker.

 
Back to Top of Syllabus

Tentative Topics and Calendar

Note: Generally new material will be introduced first through the reading, then discussed in lecture, and then used in homework assignments and projects. Reading assigned on a given date is to be done before the next lecture. The labs will be devoted to explanations of the mechanics of using the various software used in the course, help with techniques of debugging and testing, on-line exercises to reinforce the above, etc.
Topics Approx. Date
Chap. 1, Intro. to Computers C++  
Chap. 2, Flow of Control  
Chap. 3, Function Basics  
Chap. 4, Parameters and Overloading (partial)  
Chap. 5, Arrays  
TEST 1 Tuesday, Oct 1st?
Chap. 10, Pointers and Dynamic Arrays  
Chap. 9, Strings  
Chap. 6, (Structures) and Classes  
Chap. 7, Constructors and Other Tools  
TEST 2 Tuesday, Oct. 27th (pretty solid date since I am out of town)
Chap. 8, Operator Overloading, Friends, and References  
Chap. 17, Linked Data Structures  
Chap. 14, Inheritance  
Chap. 15, Polymorphism and Virtual Functions  
Chap. 10, Polymorphism  
Chap. 13?, Recursion  
Chap. 16, Templates?  
Final Exam During Finals Week (could not find a tentative date)
Back to Top of Syllabus

Other Important Dates

Last day to register or to add courses, Tuesday, September 15
Freshman mid-term marking period ends, Friday, October 16
Last day to drop w/o penalty, Tuesday, October 27
Last CISC181 class-- Tuesday, December 8
Back to Top of Syllabus

Attendance

Attendance at ALL lectures and labs is required. An absence is excused only for some event beyond the student's control, e.g., sickness, a death in the family. Some examples of absences that are not excused include (1) conflicts with work schedules (these are assumed to be worked out before the student enrolls for the course), (2) reservations to travel, especially around vacation periods (the semester calendar is published well in advance), (3) non-emergency doctor and dental appointments.
 
Back to Top of Syllabus

Grading

Daily/Weekly Homeworks
With most classes there will be a set of exercises assigned (usually from a textbook). These exercises will be due at the start of the following class (unless otherwise specified). In the beginning, these can be done on paper, however it is suggested that you do any involving programming on a machine.  Instructions for scripting your homework assignments/programs will be provided. Daily homeworks will be graded on a variable point scale (generally between 5 and 30 points). Because we will often discuss homeworks in class, they may not be turned in late (for a grade -- you may wish have them graded just to make sure you are understanding the material if you are late).

 
Labs
Each Thursday you will have a lab assignment to do during the lab session. The purpose of the lab is to familiarize yourself with various programming concepts, debugging tools, etc... with the benefit of a teaching assistant should you have any questions/concerns. The TA will come with a lab assignment to the lab. You are required to work on the lab at the lab time and will usually turn in the lab at the end of the lab session. In cases where you are unable to complete the lab during the alloted time, ***NEW*** you may turn in the assignment before 5:00pm on Friday (the day following the lab). All labs will be turned in using Sakai (https://sakai.udel.edu/portal). Attendance for the entire lab period is mandatory; you must be there at the start of lab and you may only leave lab early if you have turned in a completed lab assignment. Labs will be graded on a 10 point scale. Because we will often discuss labs in class, they may not be turned in late (for a grade -- you may wish have them graded just to make sure you are understanding the material if you are late).

 
WARNING: It is best to complete the lab during lab or immediately after (the labs are designed so that you should be able to complete them during the lab period). You will also generally have a homework assignment due for Tuesday's class.

 
Programs
There will be approximately 3 larger programming assignments. These you will be given several weeks to complete. We will be using the CC compiler on the ``composer'' machines.

 
The grading of the programs will be based on both their correctness and their clarity. The correctness concerns whether the program is complete and accurate (i.e., does it actually do what it is supposed to do?). The clarity of the program concerns the program documentation (including both comments and well-chosen function and variable names), the format, modularity, code structure, testing methodology, etc... Programs will be graded on a 100 point scale.

 
Exams
There will be three exams. These will be closed-book (though I may permit some notes to be used).

 
Course Grade
The following table indicates how the final grade will be calculated:

 
Class Participation 5%
Daily homeworks 10%
Labs 10%
Programming projects 25%
Test 1 15%
Test 2 15%
Final Exam 20%

 
 As an estimate of how the grades will be assigned, please refer to the table below. This table may be updated as is required during the semester. However, given a particular average, you may be assured that your grade will be no lower than that indicated by this table. If the final course average is
>= 92  = A
>= 90 & < 92 = A-
>= 88 & < 90 = B+
>= 82 & < 88 = B
>= 80 & < 82 = B-
>= 78 & < 80 = C+
>= 72 & < 78 = C
>= 70 & < 72 = C-
>= 68 & < 70 = D+
>= 62 & < 68 = D
>= 60 & < 62 = D-
< 60 = F

 
Special consideration will be given to students who fall just below a grade cut-off. The special consideration will take into account such factors as class participation, punctual completion of projects, ``bad days'' suffered in exams, and other intangibles. Such considerations will never lower your grade but can raise it.

 
There are invariably mistakes in grading exams and projects. After an exam or project is returned in class, you will have one week to submit a written request to have it re-graded. After one week no requests for grade changes will be considered. The request for re-grading should include the original paper and the reason and justification for re-grading.


Periodically (2 to 3 times during the semester) you will be given a ``snapshot'' of your grade (and an indication of where you stand with respect to the rest of the class). The intention is to not only allow you to see how you are doing in the class, but to make sure that there are no mistakes in the grading file. Please check your recorded grades against the snapshot and point out any inconsistencies within one week.

Back to Top of Syllabus

Late Policies

Many assignments will be due at a specific time specified on the assignment and will be submitted through Sakai (https://sakai.udel.edu/portal). For "paper" to be handed in during class, deadlines are at the start of class (e.g., 11:00am) on the due date. All assignments will be collected at that time.

Any assignments turned in (on the due date but) after the specified time (e.g., for paper assignments, after they have been collected) will be considered 1 day late and will lose 5%. An additional 5% penalty will be added for each 24 hours after the due date. No assignment will be accepted more than 7 days late.

Late paper assignments may be turned in to my mailbox (in 103 Smith Hall or in 77-79 E. Delaware Avenue). You may also turn in assignments to my office (201 77-79 E. Delaware Avenue). Late assignments must include the time that they actually reach my box (and this you are on your honor to record correctly) as well as the computer date (if applicable).

Excuses for late assignments will be considered ONLY if I am notified in advance (preferably days in advance!). You may always reach me via email at mccoy@cis.udel.edu or by phone at 831-1956.
 
Back to Top of Syllabus

Keeping up with the Work!

The work-load is heavy in this course -- but it is heavy for a reason. The nature of the material is such that you need to ``learn by doing''. It is unlikely that you will achieve mastery of the material without trying out the presented concepts. Because virtually all of your other CIS courses will build in this one, it is very important that you master this material.

DO NOT GET BEHIND!! Do not leave assignments to the last minute (or get in the habit of turning in assignments late). Start assignment early and finish them early. Because you have assignments due almost every day, once you get behind it is difficult to catch up. Work that you do now will help build a solid foundation for your future classes!

Here is a file that I think you might find helpful. Prof. Caviness's 181 Success Tips This contains some nice advice for how to succeed in cisc181.
 
Back to Top of Syllabus

Academic Honesty

I expect you to observe the highest ethical standards in this course. This means not only in the respect of the computer systems and your fellow users of these systems, but also in the individual class work that you turn in. I expect, and indeed encourage, you to consult and learn from each other with respect to conceptual problems, use of various computing facilities, and debugging assistance. However, you must be sure that the work that you turn in be your own and not copied from another in any way. Please keep in mind that copying an assignment (or partial assignment) solution from the internet is plagiarism (just as copying from a classmate would be). You should adhere to the University's Code of Conduct at all times, and ask me if you have any doubt. All violations of academic honesty (e.g., any evidence of collaboration beyond what is specified here) will be handled according to University policy. I encourage you to familiarize yourself with the University's Policy of Academic Dishonesty found in The Official Student Handbook.

Professor Caviness includes the following in some of his course policies and I thought you would benefit from it: Rather than simply following the rules because of the negative consequences if you do not, I hope that you will be inspired by values such as the following expressed by William Cobbett.

It is the mind that lives; and the length of life ought to be measured by the number and importance of our ideas; and not by the number of our days. Never, therefore esteem [persons] merely on account of their riches or their station. Respect goodness, find it where you may. Honor talent wherever you behold it unassociated with vice; but, honor it most when accompanied with exertion, and especially when exerted in the cause of truth and justice.
A Grammar of the English Language, 1819.
 
Back to Top of Syllabus

Faculty-Student Interaction

The instructor and the TA are here to help you, so please do not hesitate to call on us. If you are having trouble, the sooner you talk to us the easier it is to deal with your problem. We are also happy to see you if you are not having problems, e.g., if you find a particular topic interesting and would like to know more about it, if there is a question that you did not get a chance to ask in class, etc.

You are encouraged to make use of posted office hours. If, however, you have a time conflict with the office hours or if you run into difficulty at other times, please email me ( mccoy@cis.udel.edu) with a question or for an appointment. Please keep in mind that my schedule can be very busy at times. I will attempt to reply to email in a timely fashion, but please do not expect that I will be able to help if you have started the project late and are against a deadline.  Please be in the habit of starting the assignments early so that you can identify the difficulties (and hopefully discuss them during my office hours). 

Also, please make use of email for sending questions at any time. I will respond to them as soon as possible. I will also email the class -- especially in cases where something needs to be clarified in an assignment. Please check your email regularly even when you do not have a programming assignment due.
 
Back to Top of Syllabus



Return to Course Home Page

Return to Dr. McCoy's Teaching Page
Return to Dr. McCoy's Home Page


Corrections, suggestions and comments to mccoy@cis.udel.edu

Kathleen F. McCoy
Last updated August 31, 2009