CS:1210 – CS I: Fundamentals – Syllabus

CS:1210:0AAA, Computer Science I: Fundamentals, Summer 2021

The University of Iowa

The College of Liberal Arts and Sciences

Department of Computer Science

Instructor

Dr. Kevin Lillis

[email protected]

KevinLillis.github.io

Virtual Office Hours: Tue, Wed, Thu 7:45 AM – 8:15 AM, 9:45 AM – 10:15 AM, and By Appointment

Teaching Assistant

Umar Iqbal

[email protected]

www.umariqbal.com

Virtual Office Hours: Thu 2:00 PM – 4:00 PM, and By Appointment

Course Description

This course is an introduction to programming using Python. Prior programming experience is not required, although some students may have had some previous exposure to programming. Topics include programming constructs, data types, problem-solving strategies, data structures, and object-oriented programming. Lectures are three times  a week and present concepts in the context of working examples and exercises. Language syntax and computing paradigms are studied. Discussion periods, which meet twice a week, are led by a TA, and go over strategies for completing upcoming programming assignments, review solutions to homework, quizzes, and exams, and provide a forum to answer questions in a smaller setting.

Approved GE

Quantitative or Formal Reasoning

Prerequisites

(MATH:1010 with a minimum grade of C- and MATH:1340 with a minimum grade of C-) or (ALEKS score of 45 or higher and MATH:1010 with a minimum grade of C-) or ALEKS score of 75 or higher or MATH:1020 with a minimum grade of C- or (MATH:1005 with a minimum grade of C- and MATH:1010 with a minimum grade of C-) or MPT Level 3 score of 9 or higher or MATH:1460 with a minimum grade of C- or MATH:1380 or MATH:1850

Time and Location

This is a synchronous online course. Live Zoom lectures will be held on Tuesday, Wednesday, and Thursday from 8:30 to 9:45. Zoom links are provided through ICON.

Each student is also enrolled in a discussion section that meets twice a week through Zoom and is conducted by the TA. Zoom links are provided through ICON.

CS:1210:0A01: Tuesday & Thursday from 12:30 to 1:45

CS:1210:0A02: Monday & Wednesday from 12:30 to 1:45

Minimum Technology Requirements

Computer System – Mac, PC, or Linux capable of running at 2 Ghz.

Internet Connection – An internet connection capable of supporting Zoom meetings.

Zoom – You will need the ability to connect to and participate in Zoom meetings.

Webcam and Microphone – A webcam and microphone are not strictly required. However, having them will allow you to interact with the instructor and other students more easily during class.

Python – You will need to have Python 3.9 or later installed on your computer. Please note that Mac computers may come with Python 2.7 preinstalled. Python 2.7 will not work for this class. You must have Python 3.9 or later.

Integrated Development Environment (IDE) – In order to write Python programs, you will need an IDE that supports Python. In class I will mainly be using the Wing-101 IDE. Here are instructions for installing Python and Wing on a Mac and on a PC. Note: These videos show the installation of Python 3.8, as mentioned above, we will be using the latest version of Python, which is version 3.9.

Web Browser – The latest version of Google Chrome, Mozilla Firefox, or Apple Safari web browser.

Canvas – Students should be familiar with Canvas. The Canvas Student Guide provides links to student training and the Canvas Video Guide will introduce you to the most used features of Canvas.

Respondus Lockdown Browser – The Respondus LockDown Browser is a custom browser that locks down the testing environment within Canvas. This browser can be downloaded here.

Assistive Technologies – Students who need assistive technologies will have different computer and technology requirements. Please check with Student Disability Services to determine the requirements for the specific technologies needed to support your online classes.

Required Textbook

Computer Programming in Context, 3rd edition by Miller, Ranum, and Anderson

© 2019 by Jones & Bartlett

ISBN 978-1284175554

Available at Bookstore and on Amazon

ICON

All activities associated with this class will be through ICON. This includes accessing online lectures, submitting homework, taking quizzes and exams, recoding daily attendance, and all other activities.

Lecture Recordings

Recordings of lectures will be available on ICON within 36 hours following the end of the lecture. Discussion sections will not be recorded.

Communicating with Me

The TA is the best "first line of defense" for questions and programming help. If you have problems during the semester that affect your coursework, please see your TA as soon as possible.

You are welcome to email me with questions relating to this course. I will attempt to respond within 12 hours of email receipt. Be sure to include "CS:1210" in the subject line to help me get to your email quickly. I will occasionally send email announcements to all students in the class You are responsible for all official correspondence sent to the UI address (@uiowa.edu). Make sure that you check this email account regularly. I would also prefer receiving emails from your uiowa account, rather than from commercial email providers such as Hotmail, Gmail etc.

Netiquette

Since this is an online class, the norms regarding proper interaction with others is a bit different then a tradition in seat class. For this class I ask that we all follow these 10 Netiquette Guidelines Online Students Need to Know.

How Your Grade is Determined

Homework Assignments ........ 55%

Lab Assignments .................. 10%

Midterm Exam ...................... 10%

Final Exam............................ 10%

Quizzes................................. 10%

Attendance ........................... 5%

Homework Assignments

Each Homework Assignment will be given a date and a time when the assignment is due. You are expected to complete all assignments on time. Homework assignments are not collaborative. Each student is expected to work independently to complete all homework assignments. Homework assignments are normally worth 10 points and are graded according to the Grading Rubric for Programming Assignment. Every homework assignment is to include the following information:

Your name

Course number and title

Assignment number and title

Lab Assignments

Lab assignments are completed and submitted in-class during your discussion section. Each lab assignment is worth 5 points and is graded as follows:

5 Points for a correct program

4 Point for any reasonable attempt

0 Points for no attempt

Every lab assignment is to include the following information:

Your name

Course number and title

Assignment number and title

Midterm Exam

The midterm exam:

Will be available through ICON on Thursday, 7/8, from 2 00 PM to 1159 PM.

Is timed. You must complete the exam within 1 hour and 15 minutes from when you start.

Is closed book

o You are permitted to use a single 8 ½ × 11 piece of paper with notes written on both sides. No other notes, references, or electronic devices are allowed.

Requires the use of the Lockdown Browser and a Webcam.

Final Exam

The final exam:

Is comprehensive and will include all material covered in the class.

Will be available through ICON on Thursday, 8/5, from 2 00 PM to 1159 PM.

Is timed. You must complete the exam within 1 hour and 15 minutes from when you start.

Is closed book

o You are permitted to use a single 8 ½ × 11 piece of paper with notes written on both sides. No other notes, references, or electronic devices are allowed.

Requires the use of the Lockdown Browser and a Webcam.

Quizzes

There will be several quizzes throughout the semester. Quizzes are closed book and closed notes. The lowest quiz will be dropped when computing your final grade. Quizzes are through ICON and require the use of the Lockdown Browser and a Webcam. However, no other electronic devices may be used. Quizzes are timed and must be completed in 30 mintes.

An Exception to the Rule – Quiz 0, the Syllabus Quiz

You are allowed to use the syllabus while taking the Syllabus Quiz. The purpose of this quiz is to incentivize you to read the syllabus, not have you commit it to memory. The above quiz requirements apply to all remaining quizzes.

Attendance

Attendance is mandatory. You are expected to join lectures and labs on time. I will take attendance most days, but not every day. Your attendance grade is based on those days when I take attendance.

Letter Grades

Letter grades will be assigned based on the following:

Make-Up Policy

Homework Assignments

Homework assignments must be turned in by the due date. Late homework assignments will not be accepted.

Lab Assignments

Lab assignments must be turned in before the end of the discussion section. No Lab Assignments will be accepted after that.

Midterm and Final Exams

There will be no make-up exams in general and exceptions will be rare and only for students whose reasons are included in the CLAS Attendance and Absences policy.

Quizzes

Quizzes cannot be made up.

How to Succeed in this Class

Attend Online Classes

Showing up on time for every class is the easiest way to improve your grade — not merely because of the credit for attendance, but also because of exposure to the content presented in class.

Level of Effort

Normally a student can expect to spend about two hours of work, outside of class, for each credit unit. Thus, a typical expected workload would be about eight hours per week outside of class. This is not a course where students read or write essays. Most of your time will be spent experimenting with programs and studying programming language conventions and techniques to understand concepts.

Prepare for Class

Read the chapter sections ahead of time for each class (they are posted on ICON.) When reading the textbook, enter and run as many of the sample programs as possible. You may be surprised at how much this reinforces the chapter material. Reading ahead of time will make it easier to follow the lecture and it will help you decide what to ask about in class.

Start the Homework Early

Start working on the homework problems as soon as possible. Often, a problem that stumps you one day will seem obvious a day later. You should view the homework assignments as preparation for the exams. It is imperative that you understand and complete the homework.

Do Your Own Work

You are encouraged to discuss homework and other parts of the class with other students. Such discussions about ideas are not cheating, whereas the exchange of finished, written answers is cheating. Never give finished answers to someone else or use another person's finished answers. Plagiarism and cheating are both considered grounds for a failing grade for that piece of work. Furthermore, they would weigh heavily in the final grade, possibly resulting in a failing grade for the entire course.

Manage Your Time

I encourage you to develop a system to actively manage your priorities and time. You should schedule time each week to complete assignments and to complete readings in advance of class. Effective time management will help you not only in this class but also in the rest of your studies and in your career. Poor time management and missing assignments will be detrimental to your learning experience and will be reflected in your grade for the class.

Stay Organized

Organize your class notes and save all your graded homework assignments. These will be a great resource when studying for the exams. Also be sure to keep your computer files organized. You will write a plethora of programs for this class; it is easy for them to quickly become disorganized.

Visit With Me or Our TA

If you have problems during the semester that affect your coursework, please see me or our TA as soon as possible so we can discuss your options. If you find yourself falling behind in the class, please see me! It is likely we can work together to get you back on track.

Respondus LockDown Browser

This course requires the use of LockDown Browser and a webcam for tests and quizzes. The webcam can be built into your computer or can be the type that plugs in with a USB cable.

Preparing to use LockDown Browser

Watch this short video to get a basic understanding of LockDown Browser and the webcam feature.

Read the student Quick Start Guide (PDF).

Download and install the LockDown Browser from this link:

https://download.respondus.com/lockdown/download.php?id=369814045

Make sure the LockDown Browser and the webcam are set up properly:

o Start the LockDown browser, log into ICON, and select our class.

o Locate and select the Help Center button on the LockDown Browser toolbar.

o Run the Webcam Check and, if necessary, resolve any issues.

o Run the System & Network Check. If a problem is indicated, see if a solution is provided in the Knowledge Base. You can also visit the ITS Respondus page at https://its.uiowa.edu/icon/respondus.

o Exit the Help Center and locate the practice quiz named Practice Quiz.

The practice quiz will not affect your grade in any way.

You can take the practice quiz as many times as you wish to try out different environments on different computers.

o Upon completing and submitting the practice quiz, exit LockDown Browser.

Getting Ready to Take a Quiz/Test

Ensure you're in a location where you won't be interrupted

Turn off all mobile devices, phones, etc.

Clear your desk of all external materials not permitted — books, papers, other devices

Remain at your desk or workstation for the duration of the quiz

To produce a good webcam video, do the following:

o Avoid wearing baseball caps or hats with brims

o Ensure your computer or tablet is on a firm surface (a desk or table) — not on your lap, a bed, or other surface that might move

o If using a built-in webcam, avoid tilting the screen after the webcam setup is complete

o Take the exam in a well-lit room and avoid backlighting, such as sitting with your back to a window

Taking a Quiz/Test

Start the LockDown Browser. This will automatically start ICON.

Log into ICON, navigate to our class, and then go to the quiz or test.

Begin the quiz or test as you normally would.

You cannot exit the Lockdown Browser until you have submitted the quiz or test for grading.

Tentative Course Outline

Week 1 – Tuesday 5/15, Wednesday 6/16, Thursday 6/17

Chapter 1, Introduction to Python, Sections 1.1 – 1.5

Quiz 0 – Syllabus Quiz

Quiz 1 – Week 1 Material

Lab Assignment 1, Treadmill Settings

Homework 01 – Road Trip Songs

Homework 02 – Split the Bill

Homework 03 – Linear Interpolation

Homework 04 – Landscape Design

Homework 05 – Adding Angles

Week 2 – Tuesday 6/22, Wednesday 6/23, Thursday 6/24

Chapter 1, Introduction to Python, Sections 1.5 – 1.6

Quiz 2 – Week 2 Material

Lab Assignment 2, Using the Turtle

Homework 06 – Gold Pressed Latinum

Homework 07 – More Spirals

Homework 08 – Chessboard

Homework 09 – Good News Picture

Week 3 – Tuesday 6/29, Wednesday 6/30, Thursday 7/1

Chapter 2, πthon: Estimating Pi

Quiz 3 – Week 3 Material

Lab Assignment 3, Pi Approximations

Homework 10 – Compute Sine Function

Homework 11 – Rock, Paper, Scissors, Lizard, Spock (RPSLS)

Homework 12 – Buffon's Needle

Homework 13 – Buffon's Animation

Homework 14 – Multiplication Table

Week 4 – Tuesday 7/6, Wednesday 7/7, Thursday 7/8

Chapter 3, Codes and Other Secretes, Sections 3.1 – 3.6 and 3.8

Quiz 4 – Week 4 Material

Lab Assignment 4, String Functions

Midterm Exam

Homework 15 – ISBN Validator

Homework 16 – Credit Card Check

Homework 17 – Palindromes

Week 5 – Tuesday 7/13, Wednesday 7/14, Thursday 7/15

Chapter 4, Introducing the Python Collections, Sections 4.1 – 4.6 and 4.8

Quiz 5 – Week 5 Material

Lab Assignment 5, Flip and Rotate

Homework 18 – USPS Bar Codes

Homework 19 – Magic Squares

Homework 20 – Flipping Coins

Week 6 – Tuesday 7/20, Wednesday 7/21, Thursday 7/22

Chapter 5, Bigger Date: File I/O, Sections 5.1 – 5.3 and 5.5

Quiz 6 – Week 6 Material

Lab Assignment 6, Building a Book Index

Homework 21 – Pixel Averaging

Homework 22 – Sudoku Solver

Week 7 – Tuesday 7/27, Wednesday 7/28, Thursday 7/29

Chapter 9, Fractals: The Geometry of Nature, Sections 9.1 – 9.3 and 9.5

Quiz 7 – Week 7 Material

Lab Assignment 7, Recursion

Homework 23 – Two Recursive Problems

Homework 24 – Recursive Art

Week 8 – Tuesday 8/3, Wednesday 8/4, Thursday 8/5

Chapter 10, Planet Objects, Sections 10.1 – 10.3 and 10.6 – 10.7

Lab Assignment 8, Recursion

Final Exam

Homework 25 – Car Class

CLAS Policies and Procedures

Absences and Attendance

Students are responsible for attending class and for contributing to the learning environment of a course. Students are also responsible for knowing course absence policies, which vary by instructor. All absence policies, however, must uphold the UI policy related to student illness, mandatory religious obligations, including Holy Day obligations, unavoidable circumstances, and University authorized activities (https://clas.uiowa.edu/students/handbook/attendance-absences). Students may use the CLAS absence form to aid communication with the instructor who will decide if the absence is excused or unexcused; the form is located on ICON within the top banner under "Student Tools.”

Academic Integrity

All undergraduates enrolled in courses offered by CLAS have in essence agreed to the College's Code of Academic Honesty. Academic misconduct affects a student's related grade and is reported to the College which applies an additional sanction including suspension. Outcomes about misconduct are communicated through UI email (https://clas.uiowa.edu/students/handbook/academic-fraud-honor-code).

Accommodations for Disabilities

UI is committed to an educational experience that is accessible to all students. A student may request academic accommodations for a disability (such as a mental health, attention, learning, vision, and a physical or health-related condition) by registering with Student Disability Services (SDS). The student is then responsible for discussing specific accommodations with the instructor. More information is at https://sds.studentlife.uiowa.edu/.

Administrative Home of the Course

The College of Liberal Arts and Sciences (CLAS) is the administrative home of this course and governs its add/drop deadlines, the second-grade-only option, and related policies. Other UI colleges may have different policies for courses offered by that college. CLAS policies may be found here: https://clas.uiowa.edu/students/handbook.

Classroom Expectations

Students are expected to comply with University policies regarding appropriate classroom behavior as outlined in the Code of Student Life (https://dos.uiowa.edu/policies/code-of-student-life/). This includes related UI policies and procedures that all students have agreed to regarding the COVID-19 pandemic. Particularly, each student must wear a face mask when in a UI building, including a classroom. The density of seats in classrooms has been reduced, and in some instances, this will allow 6 feet or more of distance while other cases, it may be less. Regardless, wearing a face mask and maintaining as much distance as is possible are vital to slowing the spread of COVID-19. In the event that a student disrupts the classroom environment through the failure to comply with a reasonable directive of an instructor or of the University, the instructor has the authority to ask that the student to leave the space immediately for the remainder of the class period. Additionally, the instructor is asked to report the incident to the UI Office of Student Accountability, with the possibility of additional follow-up with the student. Students who need temporary alternative learning arrangements (TALA) for a future semester related to COVID-19 should visit this website for more information: https://coronavirus.uiowa.edu/temporary-alternative-learning-arrangements-tala.

Class Recordings: Privacy and Sharing

Some sessions of a course could be recorded or live-streamed. Such a recording or streaming will only be available to students registered for the course. These recordings are the intellectual property of the faculty, and they may not be shared or reproduced without the explicit written consent of the faculty member. Students may not share these sessions with those who are not enrolled in the course; likewise, students may not upload recordings to any other online environment. Doing so is a breach of the Code of Student Conduct and in some cases is a violation of the Federal Education Rights and Privacy Act (FERPA).

Communication and the Required Use of UI Email

Students are responsible for official correspondences sent to the UI email address (uiowa.edu) and must use this address for all communication within or with UI (Operations Manual, III.15.2).

Complaints

Students with a complaint about an academic issue should first visit with the instructor or course supervisor and then with the Chair of the department or program offering the course; students may next bring the issue to the College of Liberal Arts and Sciences. See this page for more information: https://clas.uiowa.edu/students/handbook/student-rights-responsibilities.

Final Examination Policies

The final exam schedule is announced around the fifth week of classes; students are responsible for knowing the date, time, and place of a final exam. Students should not make travel plans until knowing this information. No exams of any kind are allowed the week before finals with a few exceptions made for particular types of courses such as labs or off-cycle courses: https://registrar.uiowa.edu/final-examination-scheduling-policies.

Nondiscrimination in the Classroom

The University of Iowa is committed to making the classroom a respectful and inclusive space for people of all gender, sexual, racial, religious, and other identities. Toward this goal, students are invited in MyUI to optionally share the names and pronouns they would like their instructors and advisors to use to address them. The University of Iowa prohibits discrimination and harassment against individuals on the basis of race, class, gender, sexual orientation, national origin, and other identity categories set forth in the University’s Human Rights policy. For more information, contact the Office of Equal Opportunity and Diversity (https://diversity.uiowa.edu/eod; +1 319 335-0705 or (diversity.uiowa.edu)

Sexual Harassment

Sexual harassment subverts the mission of the University and threatens the well-being of students, faculty, and staff. All members of the UI community must uphold the UI mission and contribute to a safe environment that enhances learning. Incidents of sexual harassment must be reported immediately. For assistance, please see https://osmrc.uiowa.edu/ .