*Course Information CS101: Spring, 2009*

 

 

*Course Description: *

 

Problem Solving and Object-Oriented Programming: An introduction to the JAVA programming language with Alice and the use of object-oriented programming techniques. Emphasis is on the solution of complex computational problems by their analysis into smaller, sub-problems that can be solved independently and then combined to form a complete solution. Other topics relevant to CS will be introduced. There is no assumption of any previous study or use of computers.

 

*Prerequisites*

 

There are no prerequisites for this course.

 

 

*Textbooks*:

 

Adams

Joel Adams, Alice in Action: Computing through Animation, Thomson Course Technology, 2007.

Bruce

Kim Bruce, Andrea Danyluk and Thomas Murtagh, Java: An Eventful Approach, Prentice Hall, 2007.

 

 

 

*Course Meeting Times:*

 

    Lectures: T,Th 11-12:15 in Reese 304.

 

    Labs:

Everyone takes one lab (Sections held in Kendade G06 computer lab):

          Section 1: Tu 1:15-3:05

          Section 2: W 1 :15-3:05

 

*Instructor:*

 


Professor Lisa Ballesteros

Office:  220 Clapp

Office Hours

Email: lballest@mtholyoke.edu

 

If at any time, you have any problems, concerns, or issues you would like to discuss, come to office hours or contact me via email to make an appointment.  I check email regularly.   I am always available during office hours and am happy to try to schedule appointments outside those times when necessary.

 

*Laboratory Instructor:*

 

Mohammad S. Raunak

Office: Clapp 222

Office Hours: TBA

Email: raunak@mtholyoke.edu


 

*Course Structure*

 

There will be 1 mid-term exam, 1 final exam, weekly lab assignments, and 2 test programs.

 

The purpose of lab is to practice the material we discuss in class to help learn the material.  Lab assignments will be done in pairs.  Bring a USB memory stick with you to the laboratory in order to save project files.  This protects you in the event that the network goes down and your home directory cannot be accessed. Inability to access your account is not an acceptable excuse for not finishing a programming assignment.

 

Test programs will be similar to lab assignments, but their primary purpose is to evaluate how well you have learned the material in previous classes and labs.  For this reason, test programs will be treated as take-home exams and are to be done individually.

 

Grading:

  • midterm exam:            10%
  • final exam:                 15% 
  • lab assignments:          20%
  • test programs (2):         25% each
  • class participation:       5%

 

Attendance:

 

Announcements made during normal class meetings are official communications for this course.  Although I may not take attendance daily, regular attendance is expected.  Consequently, absence is no excuse for failure to act in accordance with class announcements.  If you miss class, talk with your classmates to find out what you missed.  The course website is also a good location to get course materials as it contains an updated version of the syllabus as well as links to lecture notes, labs, and handouts.

 

Deadlines

 

Because it is extremely important to keep up with the material in this class, all assignments are due on the dates specified.  Late labs will not be accepted unless some other arrangement has been made with me in advance, so plan ahead.  If extenuating circumstances arise which will make it difficult to meet a deadline, come talk to me and I will work with you to find a solution. 

 

*It is extremely important to keep up to date in this class.*  The lectures and labs are integral parts of this course.  In order to understand the material covered in a given day, it is important that you understand the material and concepts covered on previous days.  The most successful approach to this course is to work regularly on readings and assignments.  Don’t put things off until you feel pressured by a deadline, as problem solving typically takes longer than expected.  I am happy to answer any questions and to give feedback in class and during office hours.  There are NO silly questions.  If you are unsure about a concept we are discussing or about an assignment, do not wait to ask questions.   If you get behind, don’t wait to get help.  Ask questions in class, come to office hours, and attend regular TA sessions.

 

Comments about working together:

 

Discussion is an important aspect of learning.  I encourage you to form study groups to discuss concepts related to course materials.  However, there is a fine line between discussing a concept and solving a problem together.  *It is not O.K. to write programs together and it is not O.K. to solve assignments together unless it is specified as a group assignment.*  You may discuss assignments at a high level, but the actual solution and the write-up or coding of that solution must be done independently.  All of your resources for solving homework or programming problems *must be cited*.  This means that if you use other books or reference materials to solve a problem, you must indicate the name of the reference used and the page on which the solution was found.  If you work in a study group, the names of your study partners must be included on all assignments.  Failing to appropriately cite any and all resources used to complete an assignment is a violation of the honor code*.

 

 

*More about Academic Honesty*