Course Syllabus

CIS logo

Course:  CS 1112 Introduction to Computing Using MATLAB (Spring 2023)

Instructor: K.-Y. Daisy Fan (kdf4)

Co- or Pre-requisite: MATH 1110, MATH 1910, or equivalent. Assumes student is comfortable with mathematics (at level of one semester of calculus) but has no prior programming experience.

Alternative: CS1110 (Python)

Forbidden Overlap: Due to a partial overlap in content, students will receive 6 credits instead of 8 if they take CS 1112 and CS 1110.

Course Description

4 credit hours. S/U Optional. Programming and problem solving using MATLAB. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays and vectors, strings, recursion, algorithms, object-oriented programming, and MATLAB graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation. NO programming experience is necessary; some knowledge of Calculus is required.

Expected Outcomes

By the end of the course, a student will have acquired the following skills:

  • Be fluent in the use of procedural statements--assignments, conditional statements, loops, function calls--and arrays in MATLAB programs.
  • Be able to design, code, and test small MATLAB programs that meet requirements expressed in English. This includes a basic understanding of top-down design.
  • Understand the concepts of object-oriented programming as used in MATLAB: classes, subclasses, inheritance, and overriding.
  • Have knowledge of basic sorting and searching algorithms and vector computation.
  • Be able to produce simple graphics in MATLAB.

Times & Places

  • LectureTuTh 2:40 - 3:30pm  Hollister Hall B14 (28 sessions total)
  • Discussion:  Student enrolls in one section and attends weekly (14 sessions total).  Bring a laptop to Section 204, which takes place in a regular classroom without computers.  Sections 201-203, 205, and 206 take place in a computer lab; therefore you can, but don't have to, bring a laptop. 
    • Section 201 W 9:40AM - 10:55AM  Upson Hall 225 (computer lab)
    • Section 202 W 11:25AM - 12:40PM  Upson Hall 225 (computer lab)
    • Section 203 W 1:00PM - 2:15PM  Upson Hall 225 (computer lab)
    • Section 204 W 2:45PM - 4:00PM  Hollister Hall 314 (classroom--bring a laptop)
    • Section 205 Th 9:40AM - 10:55AM  Upson Hall 225 (computer lab)
    • Section 206 Th 11:25AM - 12:40PM  Upson Hall 225 (computer lab)

Office and Consulting Hours

The instructor and teaching assistants hold weekly office hours, and undergraduate consultants hold weekly consulting hours. See the Staff and Office Hours page for the time and location beginning on Jan 30.  

Communication

Course announcements and materials will be posted on Canvas.  Assignment submission and feedback will be managed by CMS. If you have a question about course material, post it to Ed Discussion (online forum); public posts are preferred so that others can benefit from the discussion (posts can be anonymous to other students). If you need to request special accommodation or discuss something one-on-one with the instructor, please use the instructor's office hours or email.

Material

  • Textbook:
  • Software: MATLAB Student Version, available for free to current students (with Cornell NetID email address)
    • All students can use MATLAB Online at public computer labs across campus. Some public labs have MATLAB installed: on the Engineering Quad (Upson Hall) and in Robert Purcell on north campus.

Academic Integrity

Simply put, academic integrity is about respecting yourself and respecting others. You respect yourself by submitting work completed through your own effort (e.g., on exams); you respect others by acknowledging contribution from others when such external contribution is allowed (e.g., on group projects).  Refer to the University Code of Academic Integrity for further information. Ignorance of the Code is not an acceptable excuse.

Community of Learning

We aim to create an inclusive learning environment where diversity and individual differences are respected, appreciated, and recognized as a source of strength. It is expected that students and staff in this class will respect differences and demonstrate diligence in understanding how other peoples' perspectives, behaviors, and worldviews may be different from their own.  By participating in this course, all students and staff commit to contribute positively to our community of learning:

  • Recognize that everyone will start from different bases of knowledge. Be respectful and constructive while being critical.
  • Listen to one another and, especially during group work, actively encourage everyone to contribute.
  • Help build a lively and active learning environment:
    • Discuss questions with fellow students in lecture and discussion section--talk and listen
    • Outside of class meetings, ask and answer questions on our Ed Discussion forum, always remembering to be respectful and constructive.

Assessment

You must adhere to the Code of Academic Integrity for all work.

Basis of Grade Determination:  projects (programming projects), exercises, exams (two prelims and a final), and in-class questions.

  • Exercises are short programming tasks that give you practice on the topics of the week. They are assigned weekly and you get help and additional instructions on them during your discussion section. Exercises are "graded" mostly on effort. You are encouraged to collaborate with discussion section classmates but you will submit your work as an individual.
  • Projects are medium-size programming assignments through which you synthesize the knowledge gained in recent weeks. For most projects you may work individually or with one partner (you may have a different partner on different assignments). 
    • You may drop your lowest project score provided that you scored at least 50% on that project. This helps accommodate an unusual, difficult situation without having to justify the circumstances to the instructor, so long as the submission still reflects a reasonable amount of effort. Submissions will be accepted one day late with penalty.
  • Exams:  You must write the exams at their scheduled times unless University-allowed accommodations have been granted and discussed with the instructor at least two weeks before the exam in question.
  • In-class questions are for you to check your understanding of concepts discussed in class; they are usually done using a polling device or website.  A small weight is assigned in order to encourage active reflection in class but not to check attendance--you can miss up to half the questions without affecting your score.

Your course score is computed using the following weights:

In-class questions    1%
Exercises   4%
Projects 30%
Prelim 1 20%
Prelim 2 20%
Final Exam 25%

Grading Scale:  Letter grades or S/U grades (depending on the student's enrolled grade option) will be assigned in accordance with the Cornell University grading system.  Historically, a course total over 93 is in the A range (A-, A, A+), a course total over 80 is at least in the B range, and a course total over 65 is at least in the C range. With the S/U grade option, you need a "C-" or better (determined as stated above) in order to receive an "S".

Schedule and Topics (subject to change)

    • Weeks 1-3: Fundamentals and procedural programming: variables & assignment, conditionals, loops
    • Weeks 4 & 5: Developing algorithms, user-defined functions, and memory
    • Weeks 6-8: Simple data structure and application: single and multi-dimensional arrays, image processing
    • Weeks 9 & 10: Special types and application: text character, cell, manipulating text data files
    • Weeks 11-13: Object oriented programming: custom type through class definition, array of objects, introduction to inheritance
    • Weeks 13 & 14: Recursion; algorithms for sorting and searching, including divide-and-conquer

    Alongside the above topics, throughout the course we will practice the skills of problem analysis and decomposition as well as testing and debugging.

  • Prelim 1:  March 16, 2023  7:30 - 9:00pm
  • Prelim 2:  April 20, 2023  7:30 - 9:00pm
  • Final Exam:  to be scheduled by the University 

Accommodation

Students with Disabilities:  In order to have adequate time to arrange your approved accommodation, you must request your accommodation letter no later than February 8. If you become registered with SDS after February 8, you must request your accommodation letter at least 7 days prior to the date of your exam.  Once SDS approves your accommodation letter, it will be emailed to both you and me.   

For students with testing accommodations, this course is participating in the SDS Alternative Testing Program for the Spring 2023 semester. If you have an approved testing accommodation, you must request it for this course and complete an Exam Request Form for each exam in this course via the SDS student portal by February 8th. Failure to do so may result in the inability to use your accommodation. 

Additionally, be aware of the following:

  • Evening prelim exams will begin at 6:30pm, one hour earlier than the main exam.
  • All exam logistics will be communicated to you from SDS (look out for emails from sds@accessiblelearning.mail.cornell.edu). Please note that confirmation about the exact time and room location for your accommodated exam will be communicated by SDS to you closer to the exam date (no later than 48 hours prior). Please do not contact the course staff with questions about exam logistics, as they will not be able to answer them. All details are being managed by SDS; therefore, questions should be sent to sds-testing@cornell.edu.

For students with other academic accommodations (not testing-related), please follow up with the course instructor to discuss the necessary logistics of your accommodation(s).

Physical and Mental Health: If your physical 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.  (Remember: you can drop one low project score so long as you made a good attempt given your condition).

Copyright Notice

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

Copyright © 2023 K.-Y. Daisy Fan and Curran Muhlberger