Computer Science Department

cs.salemstate.edu

 

                                                                                                      SYLLABUS                                                                                Spring 2009

 

CSC 201J Software Design and Programming I                                                                                                                       4 cr. [DII]

Prerequisite(s): High school algebra I & II; experience with a window-based operating system and the use of email and a word processor.

 

Instructor:       Beifang Yi                                             Office: MH 208D                              Phone: (978) 542-7426

email:              byi@salemstate.edu                            Hours: TWRF 12:20-1:50pm         Web Site: http://cs.salemstate.edu/~b_yi/

                                                                                                         TWR 3:20—4:00pm

 

 

Section

 

Time

 

Room

 

Final Exam

 

02

 

WF 8:00-9:15am

 

MH 303

 

May 8 (Friday)

8:00-10:00am

MH 303

 

 

L22

 

WF 9:30-10:45am

 

MH 210

 

 

Catalog description: 

      This course introduces a set of fundamental design principles and problem-solving techniques for the development of computer algorithms and their implementation as programs. Problem solutions are developed with the help of an appropriate modeling language and then coded in an object-oriented programming language. (Consult the Computer Science Department for the languages and tools currently in use.) Topics such as problem specification, object-oriented analysis and design, standard data types, control structures, methods and parameter passing, and design for reuse are presented through a study of specific example problems and solutions. Style, documentation, solution robustness, and conformance with specifications are emphasized throughout. Three lecture hours and three hours of scheduled laboratory per week plus extensive programming work outside of class.

 

Course Goals:

The purpose of this course is to develop students' understanding of a coherent set of tools and techniques for creating computer solutions to simple problems in data manipulation.   Upon completion of the course, a student should be able to do the following:

 

Course Objectives:

Upon successful completion of the course, a student will have:

 

Course Topics:

      The department-standard list of topics and a general course bibliography can be found on the Computer Science Department website at http://cs.salemstate.edu/csc201J.htm.

 

Text(s):  (required) Java: How to Program, 7th edition. Deitel & Deitel. Prentice Hall, 2007. (ISBN 0-13-222220-5)

 

Software:

·         J2SE 6.0 and NetBeans 6.5 (this is the only IDE that will be covered in class). Free copies of the software can be downloaded in the Department labs.

 

Hardware:

·         Thumb (flash) drive, 2 GB minimum

 

Additional references:

·         http://java.sun.com/javase/downloads/index.jsp

·         http://java.sun.com/javase/6/docs/

·         http://java.sun.com/docs/books/tutorial/

 

Cell phones:

      Turn the ringer off, or, better yet, turn the phone off.

 

Class Attendance:

        Class policy is that of the Registrar's office.  Aside from college regulations, much of the material covered in class is not found (in the same form) in the text, so class attendance and notes are very important. Note that you are at all times responsible for materials, handouts and assignments discussed in class: if you miss a class, try to get lecture notes from a classmate and review them before the next lecture, and check your email and visit the course website (through the instructor’s homepage) for any notes and/or announcements about the course progress!

 

Scheduled Lab Attendance:

      Attendance during lab time for the first half of the semester (about the first 6 weeks) is required, not optional. Attendance for the second half semester is highly recommended. Lab will be used to review or present software tools, to discuss and investigate Java implementation details that time may not permit to be fully explored during the scheduled lecture period, for occasional design and implementation drills, and to assist with design and debugging problems that arise in the programming exercises. No excuses of any nature will be construed as relieving you from the responsibility for completion of the work assigned. You are responsible for completing all course requirements and for keeping up with all that goes on in the course (whether or not you are present).

 

Final Grade:  

      Final grade will be determined using the following grading weights:

 

Assignments (programming projects/lab exercise, written assignments)

60%

Midterm examination

15%

Final examination

25%

 

     Attendance is not used to calculate the final grade: however, note that you are at all times responsible for assignments and materials presented in class and that we will have several lab exercises (programming projects) that need to be done and whose results must be shown to the instructor during the lab hours.

 

Programming projects / Lab Exercises:

        Programming projects and lab exercises (which belong to the assignments listed in the Final Grade above) will be assigned during the semester. Each will have pre-lab activities to be completed prior to the implementation of the assigned tasks. Initial exercises are designed to be completed during a single lab session; as the semester progresses, exercises will may require more than a single lab session, and will definitely require programming time outside of scheduled lab. Submission requirements and mechanics will be stated on each exercise. In general, each exercise will have an assigned due date: the required material(s) (usually, one single compressed/zipped file) are to be submitted, via email, no later than midnight of that date. Laboratory/project exercises are worth a at least 50% (less than 60%) of the final grade.

 

Submission Deadlines / Late Penalties:

      There are specific due dates/times for any assignments and these assignments should be completed by the deadlines. A penalty of 10% will be applied for late submission for each day. The assignments will be announced / given in class and/or through course website.

 

Exams/Quizzes:

      There will be a midterm that is worth 15% of the final grade, and a comprehensive final examination that is worth 25 % of the final grade.. The midterm will be held in week 8 depending on class progress. The final exam will be on May 8 (Friday), 8:00-10:00am. Note: Make-ups are given for missed examinations only under exceptional and documented circumstances.

 

Missed Tests:

      Missed tests will be made up only under extreme conditions/emergency with the proper documentation. Students who know in advance that they must be absent on an exam day for an excusable reason should notify the instructor prior to the exam day. Students who are absent on the day of the exam for an excusable reason should contact the instructor immediately following their absence. Makeup work will be permitted only when the instructor is presented with acceptable documentation for acceptable absences. It is your responsibility to notify your instructor of any excused absence as far in advance as possible.

 

Homework Assignments:

      Readings will be assigned from the text on a regular basis: for the maximum benefit from reading, do the readings before the material is covered in class. There will be a series of written assignments (in the form of short answers, multiple choices, true or false, and etc.) from the textbook and other sources.  These written assignments (which are usually worth around 10 % of final grade) are part of the assignments listed in the Final Grade above. Late assignments will be accepted but will receive reduced grades (check the Submission Deadlines / Late Penalties above).

 

Study Groups:

      While I strongly encourage study groups, I require that each student hand in his/her answers in her/his own words ‑ if two answers come out exactly the same, neither will receive credit.  Given the nature of most of the homework and essay questions, it will be almost impossible for two people to come up with the exact same answer UNLESS copying occurs.

 

Academic Integrity:

      Academic Integrity Policy and Regulations can be found in the College Catalog and on the College's website (http://www.salemstate.edu/academicaffairs/docs/academic_integrity_regulations_2007.pdf). The formal regulations are extensive and detailed - familiarize yourself with them if you have not previously done so. A concise summary of and direct quote from the regulations: "Materials (written or otherwise) submitted to fulfill academic requirements must represent a student's own efforts". Submission of other's work as one's own without proper attribution is in direct violation of the College's Policy and will be dealt with according to the College's formal Procedures.

 

"Salem State College is committed to providing equal access to the educational experience for all students in compliance with Section 504 of The Rehabilitation Act and The Americans with Disabilities Act and to providing all reasonable academic accommodations, aids and adjustments. Any student who has a documented disability requiring an accommodation, aid or adjustment should speak with the instructor immediately. Students with Disabilities who have not previously done so should provide documentation to and schedule an appointment with the Office for Students with Disabilities and obtain appropriate services."

 

Please remember that if, for any reason, you decide to drop this course, you MUST do so officially through the Registrar's office. The last day to withdraw from a course this semester is Friday, April 17, 2009.

 

 

Note: This syllabus represents the intended structure of the course for the semester. If changes are necessary, students will be notified in writing and via all regular class communication mechanisms (class discussion, emails, and/or the instructor’s website at http://cs.salemstate.edu/~b_yi/.).