Syllabus

CS 145/515:Introduction to Object-Oriented Programming
  1. Course Information
    Course Number: CS 145 / 515
    Course Title: Introduction to Object-Oriented Programming
    Number of Credit Hours: 3
    Class Meeting Time: 10:00 - 10:50   MW
       1:00 -  3:50   Th (lab)
    Number of Contact Hours: 5
    Prerequisites: Math 120 with a minimum grade of 'C' or an ACT score of 24, or permission of the instructor

  2. Instructor Information
    Instructor Name: Curtis Sollohub
    Homepage: http://cs.nmhu.edu/personal/curtis/curtisol.htm
    Office Hours:

    Note: I am on campus most of the week. Do feel free to email, call or simply come by anytime. Below you will find my email address, my office phone number, and even my home phone number.
    Monday: 11:00 - 12:00
      3:00 -   4:00

    Tuesday:  1:00 - 2:00

    Wednesday: 11:00 - 12:00

    Thursday: 11:30 - 12:20

    Contact Information:
    Email: curtis@cs.nmhu.edu

    Telephone: Office: 454-3302
    Home: 425-8552

    Office: Hilton 292

     

  3. Textbook:


    Title: Introduction to Computing & Programming with JAVA:
    A Multimedia Approach

    Publisher: Pearson Prentice Hall
    ISBN: 0-13-149698-0

    Comments: This book tries to teach Java through examples from the world of multimedia. This should make the process more interesting. You are welcome to get into the fun of multimedia as much as you want. However, remember, your goal is to learn to program. Make sure you focus first on the art and technology of programming and only second on the art and technology of multimedia.

  4. Materials
    Students will need some way to save their program files. The easiest way is to use a pen drive. Inexpensive pen drives can be had for less than $20. (Use your favorite search engine and do a search for "pen drive". You will come up with all kinds of great deals.) Since the lab computers do not have floppy or disk drives, the only other options are to use the network to save files somewhere else or write to a CD. The department may be setting aside space for students on the department's servers. If you would like this, please let us know - we need to be "encouraged".

    Course Objectives
    This course represents an introduction to object-oriented programming and some fundamental ideas in Computer Science as a programming discipline. Major topics include:
    1. object oriented analysis and design using software engineering principles
    2. implementing object oriented analysis and design in Java code
    3. testing of code as an integral part of the programming process
    4. encapsulation as an essential part of the object-based approach

    The text presents Java in the context of multimedia programming. Thus, it includes a good deal of multimedia-related. However, this material is not central to the course. As noted above, students should focus their time and energy on programming issues. (The Expectation Pages found in the Reading Schedule tell you just what you need to study.)

    Learning Outcomes:
    At the conclusion of this course students should be able to
    1. write programs in Java involving multiple classes
    2. develop object-based designs to solve moderately complex problems;
    3. implement those object-oriented designs in Java
    4. understand the testing process, in particular the JUnit approach
    5. discuss the significance of the object oriented approach and encapsulation

  5. An Extra Outcome:
    There may or may not be enough time in the course to cover the last few chapters of the text, where animation and web-based programs are discussed. You are welcome, however, to explore these as part of your final project.

    There will definitely not enough time in the course itself to study graphical user interfaces (GUI's) although some of the programs will include elements of these. If anyone wants to, we can meet for an extra hour or so, perhaps before or after the lab, to play with GUI's in Java.

  6. Course Work and Methods of Instruction:
    Instructional methods used in this course include subject overview lectures, presentations, classroom problem solving projects and exercises, out-of-class assignments, discussions, examinations and quizzes, and feedback sessions.

  7. Instructional Philosophy and Techniques
    To be successful learners, students need to take responsibility for their own learning. To encourage the taking of responsibility, the instructor will take a problem-based learning approach. As part of that approach, there will be little lecturing in this course by the instructor. Instead, the instructor will seek out questions on the readings, provide group activities for self-learning, and, when students do not ask questions, sometimes have an oral quiz.

  8. Exams, Assignments, and Other Gradeable Work

    Additional Material for Graduate Students

  9. Class Attendance:
    Lab Attendance is mandatory and will be factored into the final grade. The instructor believes that most students will best learn Java by practicing it in a supportive environment. Otherwise, class attendance is the responsibility of the student, and it is the student's responsibility to independently cover any materials s/he may miss. Class participation will also be monitored and will be used in determining grades.

  10. Evaluation
    The Tests ............................................................................................................. 25%
    The Final ................................................................................................................. 10%
    Homework, Quizzes, and Code Reading ...................................................................................................... 30%
    The Project..... ................................................................................... 20%
    Lab Attendance .................................................................................. 10%
    Attendance at Some Event...................................................................................................... 5%

    Grades may be determined according to this scale :
    A 90% - 100% B 80% - 89%
    C 65% - 79% D 55% - 64%

  11. Course Policies:
    1. Quizzes:
      The number of quizzes will depend on you the students. Class will begin everyday with time for student questions. On days when there are no or few questions, the instructor may have an oral or written quiz. (After all, if there are no questions, the students must have a good understanding of the material!) Students should come into class having read the material and prepared with questions.

    2. Assignments and Projects Policy:
      All work has to be done independently. Homework assignments will be due at the beginning of the next class unless the assignment sheet says otherwise. Larger assignments will be due at the end of the specified day - unless the student does not show up for class that day. In this case, the assignment will be due at the beginning of class that day! Lab assignments are usually due at the beginning of next lab unless the lab sheet says otherwise.

      Late assignments will be accepted, with a 10% grade penalty for each day late. In no case will an assignment of any kind be accepted more than one week late without strong written justification.

    3. Lecture Attendance Policy:
      The instructor will not keep attendance during the lectures. However, Class participation will be monitored and will be used in determining grades.

      This subject requires a combination of in-class discussion, out-of-class assignments, and examinations. Prompt attendance and participation are important to successful understanding of the subject matter. You can not participate unless you attend class. Of course, making any kind of disruption (e.g. talking , continually coming to class late or leaving class early, the use of cell phones, etc.) in the class will affect your participation grade negatively

    4. Academic Honesty:
      Any acts of academic dishonesty including plagiarism (unlawful copying of any form of intellectual ideas, thoughts, written scripts, etc.) will be prosecuted. Cheating or copying from your peers on exams, quizzes, or assignments is both against university policy and unethical and will consequently result in the student receiving a ZERO grade on that particular exam/assignment. Resubmission will not be allowed. More than one incident of cheating or copying will in most cases result in receiving a failure grade in the course.

      It is perfectly acceptable to integrate the work of others (but not students) into your papers and other work, so long as the original source of the information is properly acknowledged. Using the ideas of others without proper acknowledgment constitutes plagiarism and is viewed as cheating. On programming assignments it is acceptable to discuss general ideas including algorithms with your fellow students. It is not acceptable to discuss the actual code, copy someone's code, or show your code to another student.

      Serious (as decided by the instructor) and repeated incidences of academic dishonesty will be referred to the appropriate office and handled according to Highlands University policy. Note: This could mean removal from the course or even the university. (You can get more information on what constitutes academic dishonesty from the Policy on Academic Integrity available in the Academic Affairs Office.

    5. Americans With Disabilities Act (ADA)
      In accordance with federal law, it is university policy to comply with the Americans With Disabilities Act (ADA). If you believe that you have a physical, learning, or psychological disability that requires an academic accommodation, contact the Coordinator of Disability Services by phone at (505) 454-3188 or 454-3252, via e-mail at desquibel@nmhu.edu, or visit Room 108 of the Felix Martinez building on the Las Vegas campus.