Syllabus

CSc 110 Computer Programming I

Author

Adriana Picoral (she/her/hers)

Published

January 1, 2024

Location and Times

This course is scheduled to be an in-person course, meeting in-person three times a week. There are multiple sections of the course with various meeting times. Your meeting time should be one of the following:

This is a four-unit course, meeting in the lecture room three times a week (MWF). The weekly in-person lab sessions are flexible, meaning students have a number of time slots to choose from. To schedule your lab session go to the weekly lab session spreadsheet.

Take a look on UAccess for your designated section. Attendance is expected and required.

If you need an exception due to a medical or visa issue, please reach out to the DRC or instructor.

Course Description

An introduction to programming with an emphasis on solving problems drawn from a variety of domains. Topics include basic control and data structures, problem solving strategies, and software development tools and techniques. Specifically, the Python programming language will be taught.

Browse the UA catalog for official UA course descriptions.

Instructor, Teaching Staff, and Contact Information

  • Instructor:
    • Adriana Picoral
      • Office: Gould-Simpson 811
      • Email: adrianaps@arizona.edu
      • Instructor Website: adrianapicoral.com
      • Office hours (open door, drop in, my office GS 811):
        • Monday 2:30pm to 3:30pm
        • Wednesday 10:30am to 12:30pm

There will also be many undergraduate TAs. See the class website for their contact info!

Course Format and Teaching Methods

The course will have three required meeting times per-week. The in-class experience will consist of a combination of lecture, programming demonstrations (live coding), and in-class activities. This course will use active learning, peer-teaching, and flipped-classroom teaching techniques.

By active learning, I mean that class time won’t be just 50 minutes of me talking. Instead, class meetings will include a number of in-class activities (ICAs) for you to work on individually and/or in a group. Thus, you can spend some time actively learning (instead of passively listening to the instructor).

By peer-teaching, I mean that you will have opportunities to learn from your classmates, and vice-versa. In many of the in-class activities, you will be able to work on groups and help each-other when necessary.

By flipped-classroom, I mean that you will often be assigned reading or other material to complete before attending each class meeting time. By doing this, you will come to class with (at least some) preparation. This will hopefully result in more class time allocated towards active learning!

Obtaining Help

  • Academic advising: If you have questions about your academic progress this semester, or your chosen degree program, consider contacting your department’s academic advisor(s). Your academic advisor and the Advising Resource Center can guide you toward university resources to help you succeed. Computer Science major students are encouraged to visit https://www.cs.arizona.edu/undergraduate/advising for advisor contact information.
  • CS Tutor Center: The Department of Computer Science offers FREE tutoring for students enrolled in CSC courses. You can view tutor schedules and sign up for tutoring sessions by visiting our CS Tutoring Page.
  • CS Help Desk: The Computer Science IT team can help students with department technology issues including logging into/resetting your Lectura account, printing in the 930 lab, etc. You can submit a ticket for help by visiting the Computer Science Lab Helpdesk (note, requires UA login).
  • Life challenges: If you are experiencing unexpected barriers to your success in your courses, please note the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office can be reached at 520-621-7057 or DOS-deanofstudents@email.arizona.edu.
  • Physical and mental-health challenges: If you are facing physical or mental health challenges this semester, please note that Campus Health provides quality medical and mental health care. For medical appointments, call (520-621-9202. For After Hours care, call (520) 570-7898. For the Counseling & Psych Services (CAPS) 24/7 hotline, call (520) 621-3334.
  • UA Ombuds: The UA Ombuds Office (https://ombuds.arizona.edu/) helps with a wide variety of issues, concerns, questions, conflicts, and challenges. The primary mission of the Ombuds Program is to assist individuals in resolving conflict, facilitating communication, and assisting the University by surfacing issues and providing feedback on emerging or systemic concerns. Communications with the Ombuds Committee are informal and off-the-record. The Ombuds Committee is governed by the following standards: (1) Confidentiality; (2) Impartiality: (3) Informality; and (4) Independence.

Course Objectives

By the end of the semester, you should be able to write complete, well-structured programs in python.

Expected Learning Outcomes

This successful CSc 110 student will be able to:

  • Use variables, control structures, basic data types, lists, dictionaries, file I/O, and functions to write correct 100 - 200 line programs.
  • Decompose a problem into an appropriate set of functions, loops, conditionals, and/or other control flow.
  • Find bugs when code is not working as expected using print statements and computational thinking skills, and will be able to understand and resolve errors.
  • Write clean, well-structured, and readable code.
  • Follow a provided style guide to write clean, well-structured, and readable code.
  • Explain the conceptual memory model underlying the data types covered in class, and demonstrate the ability to convert integers and text to and from binary.

(These learning outcomes are derived from ones developed by Allison Obourn, Ben Dicken and other faculty at the UA).

Absence and Class Participation Policy

Participating in the course and attending the in-person lectures and other course events are vital to the learning process. As such, attendance is required at all lectures.

Administrative Drops

Every semester, students enroll in introductory CS classes but do not submit any work, resulting in a grade of E at the end of the term. To prevent this, at the end of the second week (September 06), all students who have not submitted/completed four or more of the following will be administratively dropped:

  1. Class presence on August 26
  2. August 28 quiz
  3. Class presence on August 30
  4. Beginning of semester survey
  5. September 04 quiz
  6. Module 1 Programming Problem 1
  7. Class presence on September 06

In addition, to ensure your success in this course, and that you are on top of the work that is due every week, administrative drops will be in place throughout the semester. Students who miss coursework for two weeks or more often get an E at the end of the term in this course. After the second week of class, at any point during the semester if you fail to attend class and submit assignments for two consecutive weeks you will be administratively dropped.

Illnesses and Emergencies

  • If you feel sick, or may have been in contact with someone who is infectious, stay home. Except for seeking medical care, avoid contact with others and do not travel.
  • Notify your instructor if you will be missing up to one week of course meetings and/or assignment deadlines.
  • If you must miss the equivalent of more than one week of class and have an emergency, the Dean of Students is the proper office to contact (DOS-deanofstudents@email.arizona.edu). The Dean of Students considers the following as qualified emergencies: the birth of a child, mental health hospitalization, domestic violence matter, house fire, hospitalization for physical health (concussion/emergency surgery/coma/COVID-19 complications/ICU), death of immediate family, Title IX matters, etc.
  • Please understand that there is no guarantee of an extension when you are absent from class and/or miss a deadline.

Makeup Policy for Students Who Register Late

If you register after the first class meeting you may make up missed assignments within your first week of attendance. You are responsible for contacting the instructor within that first week to have extensions set-up. The instructor will not be contacting you directly, you have to initiate this process to make up missed work. If you do not, the instructor will assume you are not interested in making up missed assignments.

Course Communications

All online communication will be conducted through my official UA e-mail address (adrianaps@arizona.edu) D2L, and Piazza.

Required Texts or Readings

All readings, videos, and assignment instructions will be available in the course website.

Assignments and Examinations: Schedule/Due Dates

The breakdown of grades in this course is as follows:

  • 45% exams
  • 25% weekly quizzes
  • 5% programming problems
  • 10% short programming projects
  • 15% programming projects

There will be four exams throughout the course (including the final), for a total of 45%. These exams may cover material from class, the programming assignments, the final project, and the readings. Three exams of these exams will be during the semester, the lowest grade will be dropped (each of the two remaining exam grades is worth 15% of your final grade). If you would like an exam regraded, we reserve the right to regrade the entire exam, not only the parts you might question.

The midterm exams will be on:

  • Midterm Exam 1 - Oct 2, Wednesday
  • Midterm Exam 2 - Oct 23, Wednesday
  • Midterm Exam 3 - Nov 20, Wednesday

You must keep theses dates available. Do not schedule any flights, travel plans, or other conflicts with these exams.

Weekly quizzes will be held every Wednesday (unless otherwise noted). The 2 (two) lowest grades for quizzes will be dropped from final grade calculations.

Short programming projects are due on the same day as programming problems. While the instructions for programming problems are on the website, instructions for short projects will be available only during our weekly 50-minute in-person lab sessions. The lowest grade for short programming projects will be dropped at the end of the semester. There will be two lab sessions (the weeks of October 16 and November 12) for you to work on a maximum of two short programming project submissions you have missed.

To schedule your lab session go to the weekly lab session spreadsheet.

Late Work

For programming problems and projects, late work is not accepted

Extra Credit

Up to 1 point of extra credit will be awarded to students who come to office hours in person. Check our office hours schedule on the website https://adrianapicoral.com/csc-110/tas.html and ask the TA or instructor to submit your points to gradescope.

You are required to ask a question and/or work on an assignment or practice problem with the TA or instructor to receive 0.5 points for each office hour attendance. It is your responsibility to ensure the TA or instructor enter your 0.5 points on gradescope during the session. Instructors will not award you these points at a later date, do not email instructors about getting points at a later date (for example, if you forget to ask the TA to enter your office hour points on gradescope).

Your first TA office visit should take place before the Midterm 1 date, and the second visit should take place before the Midterm 2 date.

Final Examination

The final exam is worth 15%.

The final exam will be on:

  • Dec 13, Friday – 6:00pm - 8:00pm in S SCI 100

You must keep this time available. Do not schedule any flights, travel plans, or other conflicts with these exams.

See also Final Exam Regulations and Schedule: https://registrar.arizona.edu/finals

Grading Scale and Policies

The instructor and teaching staff will do their best to have grades back to students within 1 week. This includes, but is not limited to, grades for exams, projects, programming assignments, attendance, and quizzes. Once a grade has been entered for a particular item on the digital grade-book, students have at most 5 days to dispute the grade. This includes disputes related to excuses such as sickness, personal matters, dean’s excuses, etc. If 5 days pass and there has not been such a request, the grade is final.

The correspondence between percentage grade and numeric grade is as follows:

  • Greater or equal to 90% at least an A
  • Greater or equal to 80% at least a B
  • Greater or equal to 70% at least a C
  • Greater or equal to 60% at least a D
  • Anything less, at least an E / F

University policy regarding grades and grading systems is available at https://catalog.arizona.edu/policy/courses-credit/grading/grading-system

Incomplete (I) or Withdrawal (W):

Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policies, which are available at https://catalog.arizona.edu/policy/courses-credit/grading/grading-system.

Honors Credit

Students wishing to contract this course for Honors Credit should e-mail me to set up an appointment to discuss the terms of the contact and to sign the Honors Course Contract Request Form. The form is available at http://www.honors.arizona.edu/honors-contracts.

Scheduled Topics and Activities

List topics in logical units in a weekly/daily schedule, including assignment due dates and exam dates can also be found on the course website.

Week Start Date Topic
1 Aug 26 Python Basics
2 Sep 04 Functions, Operators and Expressions
3 Sep 11 Functions, Operators and Expressions
4 Sep 18 Control Flow (if statements)
5 Sep 25 Control Flow (while)
6 Oct 04 Data Structures (lists)
7 Oct 11 Control Flow (for loops)
8 Oct 18 Control Flow (for loops)
9 Oct 25 Data Structures (dictionaries)
10 Nov 01 Input and Output
11 Nov 08 Data Structures (tuples)
12 Nov 13 Data Structures (sets)
13 Nov 20 Mutability
14 Dec 02 Control Flow + Data Structures
15 Dec 09 Review

The schedule may be adjusted based on instructor discretion.

Holidays

We won’t have classes due to university-wide holidays on the following dates:

Week Date Holiday
3 Sep 2, Monday Labor Day
11 Nov 11, Monday Veterans Day
14 Nov 28, Thursday Thanksgiving Recess

Assignment due dates

Assessment Date Time/Location
Quiz 01 Aug 28, Wednesday in class
Survey Aug 30, Friday 7pm
Quiz 02 Sep 4, Wednesday in class
Module 1 Programming Problems Sep 5, Thursday 7pm
Module 2 Programming Problems Sep 10, Tuesday 7pm
Short Programming Project 1 Sep 10, Tuesday 7pm
Quiz 03 Sep 11, Wednesday in class
Programming Project 1 Sep 12, Thursday 7pm
Module 3 Programming Problems Sep 17, Tuesday 7pm
Short Programming Project 2 Sep 17, Tuesday 7pm
Quiz 04 Sep 18, Wednesday in class
Programming Project 2 Sep 19, Thursday 7pm
Module 4 Programming Problems Sep 24, Tuesday 7pm
Short Programming Project 3 Sep 24, Tuesday 7pm
Quiz 05 Sep 25, Wednesday in class
Programming Project 3 Sep 26, Thursday 7pm
Midterm 1 Oct 2, Wednesday in class
Module 5 Programming Problems Oct 3, Thursday 7pm
Short Programming Project 4 Oct 4, Friday 7pm
Programming Project 4 Oct 7, Monday 7pm
Module 6 Programming Problems Oct 8, Tuesday 7pm
Short Programming Project 5 Oct 8, Tuesday 7pm
Quiz 06 Oct 9, Wednesday in class
Programming Project 5 Oct 10, Thursday 7pm
Module 7 Programming Problems Oct 15, Tuesday 7pm
Short Programming Project 6 Oct 15, Tuesday 7pm
Quiz 07 Oct 16, Wednesday in class
Programming Project 6 Oct 17, Thursday 7pm
Midterm 2 Oct 23, Wednesday in class
Module 8 Programming Problems Oct 24, Thursday 7pm
Module 9 Programming Problems Oct 29, Tuesday 7pm
Short Programming Project 7 Oct 29, Tuesday 7pm
Quiz 08 Oct 30, Wednesday in class
Programming Project 7 Oct 31, Thursday 7pm
Module 10 Programming Problems Nov 5, Tuesday 7pm
Short Programming Project 8 Nov 5, Tuesday 7pm
Quiz 09 Nov 6, Wednesday in class
Programming Project 8 Nov 7, Thursday 7pm
Module 11 Programming Problems Nov 12, Tuesday 7pm
Short Programming Project 9 Nov 12, Tuesday 7pm
Quiz 10 Nov 13, Wednesday in class
Programming Project 9 Nov 14, Thursday 7pm
Midterm 3 Nov 20, Wednesday in class
Module 12 Programming Problems Nov 26, Tuesday 7pm
Short Programming Project 10 Nov 26, Tuesday 7pm
Module 13 Programming Problems Dec 3, Tuesday 7pm
Quiz 11 Dec 4, Wednesday in class
Programming Project 10 Dec 5, Thursday 7pm
Module 14 Programming Problems Dec 10, Tuesday 7pm
Short Programming Project 11 Dec 10, Tuesday 7pm
Quiz 12 Dec 11, Wednesday in class
Programming Project 11 Dec 11, Wednesday 7pm
Final Exam Dec 13, Friday 6pm S SCI 100

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).

Students are asked to refrain from disruptive conversations with people sitting around them during lecture. Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.

Code of Academic Integrity

All work you submit for grading in this course must be your own. Submitting work that includes many (minor and/or major) components that are not your own work is considered plagiarism. Instances of plagiarism will be reported to the Dean of Students.

Keep in mind that all assignments and practice problems provided in this course are meant to help you to practice the skills that you will need for graded work (including on paper quizzes and exams), so it is generally in your best interest to avoid taking shortcuts even on these assignments.

Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See https://deanofstudents.arizona.edu/student-rights-responsibilities/academic-integrity.

Uploading material from this course to a website other than D2L is strictly prohibited and will be considered a violation of the course policy and a violation of the code of academic integrity. Obtaining material associated with this course (or previous offerings of this course) on a site other than D2L and the course website, such as Chegg, Course Hero, etc. or accessing these sites during a quiz or exam is a violation of the code of academic integrity. Any student determined to have uploaded or accessed material in an unauthorized manner will be reported to the Dean of Students for a Code of Academic Integrity violation, with a recommended sanction of a failing grade in the course (faculty can replace this sanction with whatever sanction they plan to use for their course).

Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent. Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.

Safety on Campus and in the Classroom

For a list of emergency procedures for all types of incidents, please visit the website of the Critical Incident Response Team (CIRT): https://cirt.arizona.edu/case-emergency/overview

Also watch the video available at https://arizona.sabacloud.com/Saba/Web_spf/NA7P1PRD161/app/me/ledetail;spf-url=common%2Flearningeventdetail%2Fcrtfy000000000003841

Confidentiality of Student Records

Student education records are considered confidential and may not be released without the written consent of the student. For more information visit http://www.registrar.arizona.edu/ferpa.

Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.