CS 1132: Short course in MATLAB

Syllabus

Course
CS 1132: Short Course in MATLAB
Instructor
Curran D. Muhlberger
Website
https://www.cs.cornell.edu/courses/cs1132/2021fa/
Course duration
August 27 – October 19

Key dates

  • Fri, Aug 27: First lecture
  • Wed, Sep 1: First lab section
  • Wed, Sep 29: Test
  • Mon, Oct 18: Last class

Course description

2 credits. S/U Only. Introduction to the MATLAB programming language. Covers the basic programming constructs of MATLAB, including assignment, conditionals, iteration, functions, arrays, vectorized computation, and scientific graphics. Designed for students who need MATLAB for research or other courses. Does not assume any previous programming experience.

Expected outcomes

Students who take this course will understand the basic MATLAB constructs and be able to write simple programs.

Staff

Instructor

  • Curran D. Muhlberger (cdm89)

Teaching assistant

  • Aravind Suresh Babu (as2625)

See the Staff page for consulting and office hours.

Times & places

Section Days Time Room Instructor
LEC 001 Mon, Fri 2:40pm-3:30pm Hollister 110 Dr. Muhlberger
LAB 401 Wed 2:40pm-3:30pm Upson 225 Aravind Suresh Babu

Materials

  • Textbook: Programming in MATLAB (an interactive ebook by zyBook). A subscription is $77 and will last until Jan 1, 2022.
    Highly recommended for beginners; optional for experienced programmers.

    1. Sign in or create an account at learn.zybooks.com
    2. Enter zyBook code: CORNELLCS1132MuhlbergerFall2021
    3. Subscribe

    When the zyBook registration process asks for your “ID number,” enter your Cornell NetID (not your student ID number).

  • Software: MATLAB
    • Current students can download MATLAB onto their personal computer for free! See Install MATLAB for instructions. Or use MATLAB Online via your web browser! Note: you must sign up for your MathWorks account using your Cornell email address.
    • All students can use MATLAB Online at public computer labs across campus. Some labs even have MATLAB installed.

Community of learning

We aim to create an inclusive learning environment where diversity and individual differences are respected and appreciated, and we expect students in this class to demonstrate diligence in understanding how others’ perspectives may be different from their own. Behaviors that contribute positively to our community of learning include:

  • Recognize that everyone is starting from different bases of knowledge. Be respectful and constructive when pointing out mistakes.
  • Listen to one another and, especially during group work, actively encourage everyone to contribute.
  • Help build a lively and active online learning environment. Ask and answer questions on our discussion board, always remembering to be respectful and constructive.

Academic integrity

Integrity is a cornerstone of our learning community. Simply put, academic integrity is about respecting yourself and respecting others. You respect yourself by submitting work completed through your own effort; you respect others by acknowledging contributions from them when collaboration is allowed (e.g., group projects). When your individual effort is required (such as on an exam), you may neither seek nor accept help from others. You must read the complete Code of Academic Integrity as it applies to this course. Ignorance of the Code is not an acceptable excuse.

If we suspect that the Code of Academic Integrity is not being upheld, we may upload student submissions to 3rd-party services that detect plagiarism; enrollment in this course implies consent for your submissions to be used in this manner.

Assessment

Though S/U only, the course requires mastery of the material: you must pass the course at the B level. Specifically, your overall course score must be 85 or higher.

Lab exercises5%
Assignment 110%
Assignment 220%
Test30%
Assignment 3 plus Book "Challenge Activities"35%

Multiple submissions are allowed in order to help you achieve mastery. For each assignment, if your first submission isn't perfect you may correct and re-submit it once without penalty; each additional re-submission, if allowed, incurs a 10% deduction for that assignment. We will accept a (re)submission that is late but within 24 hours of the deadline with a 10% penalty for that assignment. For each asssignment, penalties accumulate--carry forward--from (re)submission to resubmission.

Note that your assignment will receive a substantial point deduction if it is not properly annotated with comments. Always include concise comments in your code!

You may take the Test a second time in order to improve your score. The final test score is your most recent score.

The 35% of the course score from Assignment 3 (A3) plus Book Challenge Activities (BCA) is flexible: A3 is worth at least 25%; BCA is worth at most 10%.

  • Example 1: Suppose you correctly solve all the BCA questions. Then you have earned 10 overall course points out of 100 and your A3 is then worth 25% of your course score.
  • Example 2: Suppose you correctly solve half of the BCA questions. Then you have earned 5 overall course points out of 100 and your A3 is then worth 30% of your course score.
  • Example 3: Suppose you did not do any of the BCA questions. Then your A3 is worth 35% of your course score.

New programmers are strongly advised to complete the BCA, i.e., "Challenge Activities" in the textbook (zyBook) in order to get enough practice with programming. (Note that only the CHALLENGE Activities in the required sections, i.e., the sections NOT marked optional, count for credit; the Participation Activities do not count.) If you are an experienced programmer and choose not to obtain the specified textbook, your course score does not suffer in this flexible scoring scheme.

Special accommodation

You must write all exams at their scheduled times unless your request for special accommodation (medical reason, disability-related, athletic obligation, or exam conflict) has been approved beforehand. Any request for exam-taking accommodation (aside from sudden illness) must be made at least one week before the exam, with documentation from Student Disability Services if appropriate. If illness or mental health prevents you from completing required work, email the course instructor as soon as possible to make an alternative arrangement for the missed work. See the Cornell Wellness Resources Guide for information about Cornell’s many mental health resources.

Be mindful of public health—if you do not feel well, please stay home. Do your best to still complete assignments on time to avoid falling behind.

Students with disabilities: Your access in this course is important. Please give course staff your Student Disability Services (SDS) accommodation letter early in the semester so that we have adequate time to arrange your approved academic accommodations.

  • If you have, or think you may have, a disability, please contact Student Disability Services for a confidential discussion (sds_cu@cornell.edu, 607-254-4545).
  • Once SDS approves your accommodation letter, it will be emailed to both you and the instructor. Please follow up with the instructor to discuss the necessary logistics of your accommodations.
  • If you are approved for exam accommodations please consult with the course instructor at least one week before the scheduled exam date to make the alternative testing arrangements.
  • If you need an immediate accommodation, please contact both the course instructor and SDS by e-mail.

Schedule of topics

Topics and the course schedule are given below. Outlines and example code will be posted on our Lecture notes page after each lecture. These posted files are not complete transcripts of the lectures. You are expected to attend lecture and to take notes for yourself. Topics and dates are subject to change.

  • Week 1: MATLAB basics
  • Week 2: Functions, control flow, arrays
  • Week 3: Graphics, matrices, nested loops
  • Week 4: Vectorization
  • Week 5: Character arrays
  • Week 6: Cell arrays, file input/output
  • Week 7: Extracting and filtering data
  • Week 8: Application to image processing

Copyright notice

All materials distributed in this course are copyrighted and may not be distributed further (unless otherwise indicated). They are intended for your sole use and may not be reposted on any public or private website or by any other sharing method (e.g. fraternity exam files).