     CSE 109 Systems Programming   Fall 2011

     Instructor:

       Ed Kay
       Packard Laboratory 204B
       Phone: (W) - 758-3623
              (H) - 867-3136 (Before 10 PM!)
       Email: ejk0
       Office Hours: MWF  10:00-11:00  AM, or by appointment

     Prerequisite: CSE 17 or CSE 18

     Text: Walter Savitch, "Absolute C++", 3rd (2007) or 4th Edition (2009),
           Addison-Wesley, 2009. NOTE: The text is optional.

     Attendance: You are responsible for material covered in class, including
                 elaboration and modification of assignments, and you are
                 expected to participate in class.

     Course Web Page:  www.lehigh.edu/~ejk0/cse109.html

     Basis for Grades:                              Percent
                                                    of Grade

     Homework Assignments                              5%
     Programming Assignments                          35%
     Test 1   Friday 14 October 2011                  15%
     Test 2   Monday 14 November 2011                 15%
     Final Examination                                30%


     Tests:  1. The tests and final examination are closed book, closed notes.
             2. I do not give makeup tests.  Except in extraordinary
                circumstances, you will recieve a zero for a missed test.

     Assignments:

      1. For each assignment you will hand in an electronic copy. The
         electronic copy will be automatically collected at 10:45 PM of the
         day it is due (except Saturdays; see below). The details of this
         procedure will be discussed in class.
      2. Each assignment will be graded on a 100 point scale.  There will be
         three opportunities to submit programming assignments: the time it
         is due, one day later, and two days later, except that dates for
         late submission will account for weekends and mid-semester vacation.
         All collections are at 10:45, except for Saturdays, when it is 9 PM.
         On the third collection, all assignments not previously submitted
         will be collected. Your grade on programming assignments will be
         reduced 10 points for being one collection day late and an
         additional 10 points for being two collections days late.  I will
         not accept late homework assignments (as distinguished from late
         programming assignments).
      3. In the past I have always returned assignments and tests at the first
         class that occurs 24 hours after they are completed. I intend to
         continue that practice. If you miss that class, ask me for the given
         graded assignment or test.

     Topics Covered (not neccesarily in the order below):

         1.  Introduction to Unix and emacs
         2.  Review of structures shared by Java and C++
         3.  Passing variables to functions
         4.  Pointers
         5.  Makefiles
         6.  Text reading
         7.  Classes and Subclasses
         8.  Templated Classes
         9.  Lexical Analysis
        10.  Parsing
        11.  Building Mid-Size Programs
        12.  C

     University Policy on Disabilities:

      "If you have a disability for which you are or may be requesting
      accommodations, please contact your professor and the Office of
      Academic Services, Room 212, University Center or call (610)758-4152
      as early as possible in the semester.  You must have doucmentation
      from the office of Academic Support Services before accommodations
      can be granted. University policy states that you must notify your
      professor seven (7) days prior taking an exam that you are requesiting
      an accommodation."

     Collaboration:

      I will not tolerate unfair collaboration, i.e., copying of
      programs. Below I try to make clear when collaboration is unfair.

      In grappling with the course work, the sharing of ideas is
      educationally useful.  The copying of ideas is destructive. UNLESS
      I STATE AN EXCEPTION FOR A PARTICULAR HOMEWORK OR PROGRAMMING ASSIGNMENT
      YOU ARE STRICTLY FORBIDDEN TO COPY SOMEONE ELSE'S HOMEWORK* ASSIGNMENTS
      OR PROGRAMMING ASSIGNMENTS, AND YOU ARE STRICTLY FORBIDDEN TO COPY CODE
      FROM A TEXTBOOK OR THE WEB. It is difficult to know where to draw the
      line between educationally useful sharing of ideas and the
      educationally destructive copying of ideas. I will quote Roger D.
      Eastman of Loyola College (ironically I copied this, but I do have his
      permission to use the quote), who draws the line rather well for
      programming assignments:

      "I encourage you to help each other with programming assignments, but
      I also want you to understand where the help should stop.  Don't take
      someone else's program to copy, or give yours for copying.  If you
      want to show someone your program to ask about a syntax or run-time
      error, that's fine; if you want to brainstorm about what the assignment
      requires and how to approach it, that's fine; if you want to share your
      knowledge of [C++], that's fine; but letting someone copy your
      program line by line, in fact or spirit, is not fine."

      The line between sharing and copying is clear: when you start writing
      code, it is time to stop sharing ideas.  But what about when you are
      stuck with a syntax error?  In that case it is all right to ask someone
      about the syntax error, but that is as far as your sharing of
      information should go.  To put it still another way, it is wrong to
      show someone else a copy of your program for "reference" or to use
      someone else's copy of a program for "reference."  Please visit the
      following website for some detailed examples of what is and what is
      not unfair collaboration:  http://www.lehigh.edu/~ejk0/cheating/

      I normally submit any case of suspected academics dishonesty to the
      University Committee on Discipline.  Often, when the discipline
      committee finds a student guilty of academic dishonesty, the penalty
      is a WF in the course. If the Committee on Discipline finds you guilty
      of academic dishonesty and does not assign a WF, I reserve the right
      to lower your grade or assign the grade of F.
              THERE MUST NOT BE ANY COPYING OF PROGRAMS.

      *Members of a pair assigned to work as a team on homework may share
       that homework.

