Syllabus for
Evan Golub's CMSC 131 Sections (010x)
Fall 2018

SectionMWF LectureMW Discussion Discussion TA
0101 4:00pm-4:50pm (ESJ 0202)  8:00am- 8:50am (CSI 2120)David
0102 4:00pm-4:50pm (ESJ 0202)  2:00pm- 2:50pm (CSI 1121)Ishita
0103 4:00pm-4:50pm (ESJ 0202) 10:00am-10:50am (CSI 2120)Stephanie
0104 4:00pm-4:50pm (ESJ 0202) 11:00am-11:50am (CSI 2120)Stephanie
0105 4:00pm-4:50pm (ESJ 0202)  2:00pm- 2:50pm (CSI 2120)Corbin
0106 4:00pm-4:50pm (ESJ 0202)  9:00am- 9:50am (CSI 2120)David
0107 4:00pm-4:50pm (ESJ 0202) 10:00am-10:50am (CSI 1122)Corbin
0108 4:00pm-4:50pm (ESJ 0202) 11:00am-11:50am (CSI 1122)Ishita


Overview

This is a first course for Computer Science majors and minors with a focus on computational thinking and object-oriented programming. The goal of the course is to develop mental models to support the design, implementation, and testing of solutions to problems as well as the practical application of these via the implementation of programs in Java using a graphical IDE.

Pre/Co-requisites

Corequisite: Concurrently enrolled in MATH140.

Exams

  • Exam #1 - Friday, October 5th during your lecture period.
  • Exam #2 - Friday, November 2nd during your lecture period.
  • Exam #3 - Friday, November 30th during your lecture period.
  • Final Exam - Thursday, December 13th at 4pm (location to be announced).

    Contact Information

    Evan Golub : 1115 AV Williams Building : egolub (at) glue (dot) umd (dot) edu
    Voicemail 301-405-0180 but telephone is the worst way to try to contact me. The above e-mail is probably the best (e-mail sent to addresses other than this one are likely not to be seen). Office hours will be posted after the semester begins and should start during the second week of classes. During the first week of classes, I will be available after lecture for questions.

    Course Website

    http://www.cs.umd.edu/class/fall2018/cmsc131-010X
    This website will be divided into sections for posting projects, examples, etc. Any official announcements will be posted here. You may receive e-mail informing you of emergency announcements, but you are responsible for checking this main class site regularly. While we will use ELMS for certain aspects of the course, we will not be using it for announcements or posting project descriptions.

    GRACE accounts

    To connect to the GRACE cluster that we will be using for projects and some labs, you need to activate your TerpConnect account if it is not already activated. Visit the following link to activate or check on it: https://cgi.oit.umd.edu/cgi-bin/account/activation.cgi. Your TerpConnect account might not be available for a few days once you request it so that means you should go check/activate it today. You should see a message like "TerpConnect Activated" once your account is ready (or if it already is).

    Campus Multi-Factor Authentication

    Starting this semester, all students will be required to sign up for and use multi-factor authentication (MFA) to access a variety of services that use your university login. Resources such as ELMS and the class grades.cs.umd.edu server are among these. That means that before October 15th, you need to set up MFA. It is the very strong recommendation of your instructor that you set this up earlier, by September 15th, to get it out of the way since access to resources such as these are essential. The campus page about this is at https://it.umd.edu/MFA.

    In-class Technology

    You will be required to have a Turning Technologies "Response Card RF" clicker unit (available at the bookstores) and activate your campus-provided TurningPoint Cloud account. We will start doing some practice polls from the first day (polls won't count for points until the second week of classes at the earliest). Details and links related to setting up your Turning Cloud account and physical clicker are on the main class webpage. Please make sure you register your clicker and activate your Turning Cloud account so you can check them during our trial polls at the start of the semester. Clicker points cannot be retroactively given so it is important to confirm that you are receiving your points during the trial period at the start of the semester.

    Recommended Text

    We will be using an online version of a textbook that is available to UMD students free of charge: http://link.springer.com/book/10.1007/978-1-4302-3687-0. If you know you want to have a physical textbook to read, the one we suggest is Java Foundations: Introduction to Program Design and Data Structures by John Lewis, Peter DePasquale, Joseph Chase. I will not refer to either directly during the semester, but the discussion and examples look like a good match for the course. Either the first (ISBN 0321429729) or second (ISBN 0132128810) or third (ISBN 0133370461) edition is fine if you go with the physical book. Used copies of old editions seem to be readily available online at places like Amazonamazon link and Barnes & Noble (these links are not endorsements of any of these stores).


    Major Topics (not strictly listed in order of presentation)

  • Intro to Computer Systems
  • Intro to Computational Thinking
  • Programming Basics:  Variables, Operators, Expressions, Statements, Methods
  • Java Text Input/Output
  • Logic and Conditionals
  • Iteration by Loops
  • Principles of Object Oriented Programming
  • Basics of Program Design
  • Testing and Debugging
  • Java Memory Map
  • Java ArrayLists and Arrays
  • Polymorphism
  • Java Interfaces
  • Recursion
  • Algorithm Efficiency



  • Assignments


    There will be seven major, individual, programming projects and numerous other smaller coding exercises as well as a written assignment. The smaller coding exercises will be assigned to be worked on during the lab sessions and some of these lab exercises might be posted a day or two before that lab so you can try them on your own first if you'd like. All of the individual programming projects are considered "closed" assignments which you must complete by yourself, coming to our office hours if needed. On the smaller lab coding exercises you will be allowed to get help from others outside of our office hours, but please remember this is not allowed on the longer-term projects. Policy Regarding Open/Closed Projects.

    There will also be three semester exams, a final exam, Clicker activities in class, and fairly regular quizzes and aporés. All quizzes are closed-book, closed-notes, individual work. There will also be some aporés with an aporé after you take these in lab under quiz conditions, they will be shuffled and peer-annotated in lab as the teaching assistant reviews the answers to each question. Note that both quizzes and aporés are individual work and closed-note/book.

    You will be told in advance whether you are taking a quiz or an aporé. The distribution of quizzes versus aporés will be determined in part by participation levels on aporé days.

    Quizzes might be given in your assigned lab section or via ELMS. Quizzes done via ELMS will be timed, closed-book, closed-notes, and individual work just like in-lab quizzes.

    Machines


    All assignments can be done on the machines of your choice. You are welcome to do the work on a home computer if you have one. There should not be any machine-specific dependencies in your code. However, if we are not able to run your program because there is a difference between your and our computer environments, you must work with us to get your program to work in our environment. You are expected to use the Eclipse IDE for all programming assignments.


    Grading


    The smaller lab coding exercises will typically be due by 10:59pm the day of the lab for which they are posted and worked on.

    Many (if not most) programming projects will have both an intermediate deadline (discussed in the description of each project) and the working full project will be due by 7:59pm on the day they are due, with a 24-hour late period, during which late submissions will be automatically penalized 10 points. All coding exercises and projects are to be submitted electronically according to instructions given with the assignments, so please read them carefully. In general, no late projects will be accepted for credit after 24 hours though exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. Final grades will be computed according the following weights. (These weights are tentative and subject to minor future adjustment if needed.)
      Projects (7)        25% (projects will not all have the same weights)
      Quizzes/Lab/Paper   10% (grading items such as ELMS and lab quizzes, lab coding exercises, and the pitch paper)
      Clicker polling      5%
      Midterm #1           8%
      Midterm #2          11%
      Midterm #3          11%
      Final Exam          30%
    
    As you see above, there will be three semester exams, and a cumulative final exam. Question types include providing definitions of technical terms, explaining the application of terminology, and tracing and writing Java code. These are closed-book/closed-notes/closed-electronics individual-work written exams.

    Grades will be assigned based on the following anticipated ranges. It should be noted that some range cut-offs may be shifted down based on results obtained during the semester, but they will not be shifted up. The very lower and very upper parts of each range will be reserved for any +/- grades.
          Range      Grade
        90 - 100       A
        80 -  89       B 
        70 -  79       C
        60 -  69       D
         0 -  59       F
    


    Academic Honesty


    All individual assignments/exams must be done individually. Student may not post their code (this includes places like github). Please visit the PDF of the UMD Code of Academic Integrity for a detailed explanation of what constitutes academic dishonesty. Note that it includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own.

    Cases of academic dishonesty will be dealt with harshly. Each such case will be referred to the University's Office of Judicial Programs. If the student is found to be responsible of academic dishonesty, the typical sanction results in a special grade "XF", indicating that the course was failed due to academic dishonesty. More serious instances can result in expulsion from the university. If you have any doubt as to whether an act of yours might constitute academic dishonesty, please contact your one of the course instructors.

    Excused Absence and Academic Accommodations


    Any student who needs to be excused for an absence from a single quiz or lab exercise due to a medically necessitated absence shall:
  • Within 24 hours of the missed assessment, the student must inform the instructor of the missed assessment by using email or by using the "Report Absence" button on the grades server. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University staff is prohibited under Part 10(j) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.
  • The student is responsible for following up with the instructor and/or the TA to make sure they have all information missed from that day.

    This self-documentation may not be used for any Major Scheduled Grading Events, defined below, and it may only be used for only 1 quiz and for 1 lab exercise during the entire semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), for additional quizzes or lab exercises, or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. This documentation must be given to the instructor within a week of the student's return to classes.

    The Major Scheduled Grading Events for this course include the three semester exams, the final exam, and the individual projects.

    At the time the instructor is informed about the missed assessment, arrangements can be made for that Major scheduled Event. No projects will be excused - extensions in the due date are possible only if the illness was for a significant amount of time during the work time for that project (i.e. 1 or 2 days missed from a 2 week project will probably not result in an extension).

    It is also the student's responsibility to inform the instructor of any intended absences from exams or class for religious observances or official University events during the first two weeks of the semester.

    Disability Support Services


    Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services within the first two weeks of the semester and the arrangements for individual exams must be made with the instructor at least one week in advance.

    University Policies


    There are general course related policies at the University with which you might want to become familiar.


    Course Evaluations


    The Department of Computer Science takes the student course evaluations very seriously. Evaluations for the Fall will usually be open during the first two weeks of December. Students can go to www.CourseEvalUM.umd.edu to complete their evaluations (usually in the last two weeks or so of the semester).


    Copyright Notice


    Class materials are copyrighted and may not be reproduced for anything other than for your personal use without written permission from instructor.














    Web Accessibility

  • CMSC 131
    Object Oriented Programming I

    Information/Resources Announcements 
    Course Syllabus 
    TA Office Hours 
    Projects 
    Pitch Paper 
    Study Questions 
    Slides/Supplementals 

    Canvas/ELMS 
    Submit Server 
    Grades Server 

    Eclipse/Java Setup 

    Word cloud of CMSC 131 terms