Lecture 1

Introduction

MCS 275 Spring 2023
David Dumas

Lecture 1: Introduction

Things to do ASAP

Today

  • Introduction to the course
  • Overview of rules and policies

Masking reminder

Masks are currently required in all classrooms and labs. (As of start of spring 2023.)

There will be a campus-wide announcement if this changes.

→ THE SYLLABUS ←

Contains all the policies I talk about today.

I'm giving the highlights. The actual document contains details you also need to know.

Course topic

The title is "Programming tools and file management".

A better title might be "Intro to Computer Science II".

The course consists of:

  • Intro to additional CS topics
  • Deeper study of Python language
  • Some algorithms and data structures

Delivery method

Synchronous, in person.

But there are backup options for when you're sick, car won't start, etc.

  • Live stream on Blackboard (Echo 360)
  • Watch recording when posted to Blackboard

Don't rely on the backup options regularly, though.

Preferred name and pronouns

These are welcome at UIC and in MCS 275.

You can set these using UIC's "My information" tool. I put a link on course site under "Getting Started".

Course Staff

Course Meetings

Everyone is enrolled in
  • One lecture section
    • 12pm or 1pm MWF
  • One weekly lab
    • Tue 1pm or Tue 3pm or Thu 1pm

All are managed from a single Blackboard site.

Lectures

Lab

  • Essential practice/learning time: You complete a worksheet with guidance and help from TA.
  • Arrive ready to work: Bring the computer you plan to use, or use the lab computer.
  • Attendance is taken every time (drop 2).

Office hours

No appointment needed, just show up at the scheduled time. Check syllabus to see where/how (e.g. office, MSLC, zoom).

I hold office hours in person (SEO 722), but on request can join a zoom call.

You can ask for an appointment if you cannot attend office hours.

How to reach us

Outside of office hours, you can ask questions by email or by posting on Discord.

Course site has the Discord invitation link.

Paste code into your message for best results (with ``` above and below code to get nice formatting).

Types of course work

  • Worksheets: Single most important thing! Focus of lab. Not collected or graded. Collaboration ok.
  • Homework: Based on the preceding worksheet. Graded. No collaboration. We specify what resources you can use (includes worksheet solns.).
  • Projects: Four larger programming assignments. Due on Feb 3, Feb 24, Mar 17, and Apr 28. Open book (but only the course texts, slides, videos). No collaboration for projects 1-3.

Homework excuse & dropping

There will be 14 homework assignments.

Twice in the semester, you can be excused from a homework assignment just by asking your TA before the deadline. Don't submit work when excused; use the time to handle something else (e.g. big project).

Of the 12-14 homework you are not excused from, we'll also drop the two lowest grades.

Gradescope

Everything we grade is collected using Gradescope.

Access Gradescope from the course Blackboard site.

You can (and sometimes must) upload multiple files. Ask for help if needed.

You can submit an assignment as many times as you like before the deadline. For projects, expect a process of several submissions and revisions as you get essential feedback each time.

Grading

  • 45% homework
  • 45% projects
  • 10% lab attendance

I use a fixed grading scale where A=85% to 100%, B=75% to 84.99999%, C = 65% to 74.99999%, etc (see syllabus), with no rounding.

Late or missed work

Communicate with me as early as you can so I know what's happening. If you will miss:

  • a lot of lab or lecture: Don't take MCS 275 if you already know this will happen. For situations that emerge during semester, talk to me.
  • a project deadline: Email me an extension request and ask for a specific new deadline.
  • a homework deadline: The excuse/dropping policies are our preferred ways to handle this.

Platform

Can complete course work using a computer running Windows, MacOS, or Linux.

You need access to such a computer with:

  • Python 3, version 3.8 or later
  • Microsoft VS Code (a programming editor)

These are free.

Alternative: Virtual Computer Lab

There will be some time to get help installing things during the first lab meeting.

Textbooks

There are no required textbooks and no recommended purchases for MCS 275.

There are some optional textbooks you can access online, for free, including these Python books:

See course site for access info.

Individual lectures will cite chapters/sections to read.

Coding standards

To make your programs easier to read, and the encourage good practices, work you submit needs to follow some rules.

These are described in the Coding standards document for MCS 275.

You'll read this more closely in this week's lab, but it would be nice to take a look even before then.

Schedule

The course is broken into topical units, ∼ 1 week each.

A list of units is available on Blackboard.

I'll add detailed lecture lists to each unit as we proceed.

Academic integrity

You are subject to UIC's Student Disciplinary Policy.

Key point: Plagiarism or giving or receiving assistance on graded assignments in MCS 275 is prohibited.

Cheating is very easy to detect and the consequences are severe. We refer all cases to the Dean of Students.

Talk to course staff if you are having trouble—don't resort to breaking rules which makes things worse.

Materials from MCS 260

I intend to teach MCS 275 in a way that's accessible for anyone who has completed the prerequisites.

I make all my old course materials publicly available. (My site has over 20 years of materials at this point.)

My MCS 260 materials from 2021 and 2020 might be helpful if you want to review.

References

  • For most lectures, I'll list relevant sections of the textbooks on the last slide.
  • In some cases I will link to other useful resources, too.

Revision history

  • 2023-01-08 Initial publication