| Course 
      Director:  | Lt Col Dean Bushey
 | 
  
    | Instructors: | Lt Col David 
      Wells, Dr. 
      Rich Sincovec | 
  
    | Course 
      Text: | (Optional) MATLAB Programming for Engineers, 4th 
      Edition, by Stephen J. Chapman, Thomson Engineering, ISBN 
      0-495-24449-X (The 3rd edition is also acceptable.)   | 
  
    | Course 
      Prerequisites: | CS110 (a basic understanding of computers)   | 
  
    | Course 
      Schedule: | See 
      Course Calendar and Lesson 
      Schedule | 
  
    | Course Goals: | The 
      goal of CS211 is for cadets to develop understanding of the 
      fundamental techniques of software development as a foundation for solving 
      science and engineering problems using computers. Cadets will be able 
      to use programming constructs, problem-solving strategies, algorithms, and 
      data structures, with a focus on science and engineering 
      applications. Cadets will focus on developing effective software 
      engineering practices, emphasizing design, decomposition, encapsulation, 
      modularity, testing, debugging, and software reuse.  Cadets will 
      learn a programming language and development environment that is widely 
      used within the science and engineering disciplines. Cadets will learn 
      numerical methods programming. The objectives of CS211 are for 
      students to learn to: 
        Design and implement 
        computer programs to solve small-scale scientific and engineering 
        problems. 
        Use well-established 
        programming practices such as modular decomposition, descriptive 
        identifier naming, and appropriate commenting to create maintainable 
        programs. 
        Test and debug programs 
        effectively and efficiently. 
        Locate, understand, and 
        use a wide range of pre-defined functions. 
        Select and use 
        appropriate scalar and aggregate data types. 
        Select and 
        use appropriate control structures. 
        Select and use 
        appropriate input/output operations for terminal, file, graphical, and 
        GUI-based input/output. 
        Understand basic 
        numerical method techniques for solving non-linear equations. 
         | 
  
    | Final Grade 
      Distributions: | A typical grade 
      distribution is expected (but not guaranteed!) A >= 90% B >= 80% C >= 70% D >= 60% F below 60%   | 
  
    | Graded 
      Events: | 
        
        
          | Event | Points | Points Before 
          PROG |  
          | Programming Exercise 
            1 (PEX 1) Programming Exercise 
            2 (PEX 2) Programming Exercise 
            3 (PEX 3) | 100 100 100 | 100 100 |  
          | Graded Review 1 (GR 
            1) Graded Review 2 (GR 
            2) | 125 125 | 125 |  
          | Final Project 
            Design Final Project 
            Implementation (Interim & Final) | 50 150 |   |  
          | Final Exam | 250 |   |  
          | Total Semester Points | 1000 | 325 |    | 
  
    | DF Policies: | Academics with Honor Classroom Standards Policy on Academic Integrity   | 
  
    | Course Policies: | Lab Exercises 
        CS211 lab exercises are not graded.  Therefore, the help 
        and documentation policies do not apply to lab exercises. 
        If you do not complete all of a lab exercise, submit the work you 
        have completed. 
        You may get help from other cadets during the lab period but you may 
        not submit another cadet's code as part of your lab work. 
        Your instructor may allow you to leave the lab period early if you 
        have totally completed and submitted the lab exercise assigned for that 
        period. 
        Your instructor may excuse you from a lab period if you have 
        completed and submitted the assigned lab exercise prior to class. 
        You will be allowed to use all of your submitted lab 
        code for reference on graded reviews and the final exam. 
        If you submit your lab assignment work to the course web site, and 
        your work was a reasonable attempt at completing the lab assignment, 
        then you will be emailed a solution to the lab approximately 24 hours 
        after the class work was done.  Programming Exercises (PEX's) 
        Programming exercises are graded events and thus the help and 
        documentation policies apply (see details below). 
        Programming exercise files must be submitted electronically, 
        uploaded to the course web site, prior to the beginning of class on the 
        lesson they are due for full credit. 
        You must submit a hardcopy printout of your programming exercise 
        files at the beginning of class on the lesson they are due. 
        Late 
        penalties accrue on programming exercises at a rate of 25% for each 
        24-hour period (including weekends) past the on-time turn-in date and 
        time.  The late penalty is a cap on the maximum grade that 
        may be awarded for the late work.  Thus zero points will be awarded 
        for a programming exercise submitted 72 hours or more late. 
        In exceptional 
        situations, your instructor may allow you to submit a programming 
        exercise late for full credit.  Any requests for late submission 
        must be made at last 2 days prior to the on-time submission time. 
         Graded Reviews (GR's) and the Final Exam 
        Both graded reviews and the final exam will be a series of 
        programming problems that you will solve on your laptop in the exam 
        room. 
        You will have 90 minutes to complete each GR and 3 hours and 50 
        minutes to complete the final exam. 
        Your instructor will provide you with practice GRs so you know what 
        to expect. 
        The final exam will have the same format as the GRs but will have 
        more problems. 
        It is DFCS policy that anyone who scores below a 50% on the final 
        will fail the course.  Course Project 
        The course project will be an open-ended programming project that 
        should incorporate all of the programming skills you have learned in 
        CS211.  The project will require you to develop a Graphical User 
        Interface and work with data files. 
        The project will include a design (no code) turn-in and an 
        implementation (code) turn-in. 
        You will be offered a default problem on which to work for the 
        course project.  You may request an alternative project that best 
        suits your interests.  In general, only students doing well in the 
        class who present a compelling case for an alternative project will be 
        allowed to work on a course project different from the default problem. 
         Laptops In Class 
        Default Final Exam Validation and 
      Minimum Passing Score PolicyYou must bring your laptop with charged batteries (or a power cord) 
        and wireless capability to every CS211 lesson and lab period. 
        You may not use your laptop for non class-related work 
        or play during class. 
        During the CS211 double periods, you should not use your 
        laptop for anything unrelated to CS211 unless you have completed the lab 
        for the lesson or have your instructor's permission to do so. 
         
        The 
        top 5% (floor(N/20)) of cadets in the 
        course are exempt from the final exam.  This ranking includes bonus 
        and early turn-in points. 
        For 
        courses with fewer than 20 students, the department head may approve one 
        final exemption at the recommendation of the course director. 
        A minimum 
        score of 50% on the final is required to pass the course. 
 | 
  
    | Help Policies: | DFCS Help Policy for Graded 
      Work (applies to CS211 Programming Exercises (PEX's) and the Final 
      Project)  AUTHORIZED 
      RESOURCES:         
      Any, except another cadet’s program. NOTES:   
        
        Never copy another person’s work and submit it as your own. 
        
        You must document all help received from sources other than 
        your instructor. 
        DFCS will recommend a grade of F for any cadet who 
        egregiously violates this Help Policy or contributes to a violation by 
        others.  Requirements For Documentation 
      of Graded Work (applies to CS211 Programming Exercises and the 
      Project)
        
        You must document all help received from any source other 
        than your instructor. 
        The documentation statement must explicitly describe WHAT 
        assistance was provided, WHERE on the assignment the assistance 
        was provided, and WHO provided the assistance. 
        If no help was received on this assignment, the documentation 
        statement must state “NONE.” 
        Vague documentation statements must be corrected before 
        the assignment will be graded, and will result in a 5% deduction on the 
        assignment.  |