CS1110 - Computer Science I

Fall 2007

Instructor

Karlis Kaugars
karlis.kaugars@wmich.edu
276-3276

Book

Visual C# 2005:  How to Program, by H.M. Deitel & P. J. Deitel, Prentice Hall Publisher,  Upper Saddle River, New Jersey, 2006.   

Description

A first course in the science of programming digital computers.  Analysis of problems and development of correct procedures for their solution will be emphasized along with the expression of algorithmic solutions to problems in a structured high-level computer language.  Applications will solve both numerical and non-numerical problems for the computer.   Co-requisite:  MATH 118.

Learning Outcomes

Students will:
  1. be able to use the basic concepts of high-level language programming – conditional structures; looping structures; arrays; program logic –   to solve problems.
  2. know the basics of object oriented programming, and be able to create and use elementary objects.
  3. be able to use the C# language for both procedural and introductory object oriented programming.
  4. know the basics of the software life cycle.
  5. have experience in validating quality of work produced.
  6. know basic introductory sorting and searching algorithms.
  7. be able to develop algorithms for elementary problem solutions.
  8. know how to document programs effectively and efficiently.
  9. gain an initial and elementary understanding of algorithm complexity.

Grading

During the term there will be two in-class exams and a final examination.   Laboratory assignments will be given in the regularly scheduled laboratory.  In this section there will be a number of group activities, in which assigned groups are to work together to complete an assignment. These activities will be done both in class and outside of class.   Periodic quizzes may also be given.  Your participation is important to the success of your group, so you are expected to attend class regularly and participate.   Your final grade will be computed from your performance on these components using the following weights:

COMPONENT

WEIGHTED PERCENT

Exam I

15%

Exam II

15%

Laboratory and other Assignments

30%

Final Examination

30%

In-class Activities/Participation (individual and group)

10%

With satisfactory performance in the lab, the following minimum averages are required to guarantee the indicated grade.   (See section below regarding laboratory.)

A – 90; BA – 85; B – 80; CB – 75; C – 70; DC – 65; D –60While the scale may be changed slightly, it will only be changed to your benefit.

 

Laboratory

You must receive a passing grade (minimum 60%) in the lab in order to pass the class.   There will be a series of laboratory programming assignments that you are to complete during the term.  A program is considered complete when it is submitted and working correctly; otherwise, it is considered incomplete. Since a major component of this course is learning to program in C#, the ability to write programs is essential; therefore, in order to pass the laboratory portion of the class you may have at most two incomplete laboratory assignments.   Late assignments are assessed a penalty of 5% per day that they are late during the term (including weekends and any holidays). There will also be a series of quizzes in the laboratory.

You are expected to do the laboratory assignments on your own.   While getting help with debugging or discussing an idea on how to attack a problem is generally acceptable, take care that you don’t use or duplicate a portion of another’s work.    Working together with someone on a step-by-step basis, can easily lead to two programs that are essentially the same. This is not acceptable. Read carefully the section below on Academic Honesty.

Missed Exams

If you miss an exam, the decision as to whether or not it is made up and how it is made up will be made on an individual basis. To be excused there must be significant circumstances beyond your control.   Generally this will require documentation, such as a doctor’s note in the case of illness.   Normally, if the absence from an exam is excused, the average of your other exams will be used to replace it.  If it is unexcused, 70% of the average of other exams will be used.   At most one missed exam, excused or unexcused, will be made up in this way.

Incomplete Grades

Please note that the incomplete grade - I - is intended for the student who has missed a relatively small portion of work due to circumstances beyond his/her control.  In general, performance on work done must be at a level of C or better in order to qualify for an incomplete.  An I grade will not be given to replace a low or failing grade in the class.  

Academic Honesty

The following statement has been approved and distributed by the Western Michigan University Faculty Senate:  

You are responsible for making yourself aware of and understanding the policies and procedures in the Undergraduate (pp. 274-276) [Graduate (pp. 26-28)] Catalog that pertain to Academic Integrity. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. If there is reason to believe you have been involved in academic dishonesty, you will be referred to the Office of Student Conduct. You will be given the opportunity to review the charge(s). If you believe you are not responsible, you will have the opportunity for a hearing. You should consult with me if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test.

Unless otherwise told, you may not bring aids to exams.   Submission of another person’s work in part or whole is not permitted.  Learning can certainly occur with discussion of class material and assignments with other students, and we will be doing collaborative activity from time to time, but at all times take care that you don’t represent the work of another as your own.  In most cases, laboratory work submitted is to be your own work.

·        If you are copying another’s work in part or whole, either by hand or electronically, you are going too far. 

·        If two or more people are working so closely together that the outcomes, particularly on significant portions of computer programs, are essentially line-by-line the same in logical structure, they are going too far. In particular, two or more people should not be simultaneously discussing a program and writing code. A good rule of thumb to use would be to discard any written work (written by hand or recorded electronically) that was done in collaboration with others before coding your program.

·        You should not give your completed work to someone else or accept another’s completed work to “review or look at” in either hardcopy or electronic form.   This too easily facilitates copying.   It is not uncommon for one person to give a program to a “friend” or acquaintance to look at for assistance, only to have the “friend” put his name on it and submit it for credit.  Just don’t do this.  No one should be asking you for a copy of work that you have done.  Similarly, you should not ask to see someone else’s work.

If you are found responsible for violation of academic honesty in the course, you will receive a penalty up to and including an E grade in the class.

Classroom Etiquette

Learning is the emphasis of this class, and in order to maintain the most positive setting for doing this and enabling all, including the instructor, to carry out tasks that will enable learning, there are several rules that need to be followed within the classroom setting.  You are requested to pay close attention to these and to follow them.