CSc 110 - Introduction to Computer Programming I

University of Arizona, Spring 2021

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.

Location and Time

One section of this course is schedule to be online and the other in-person. Due to the policies the university has put in place, even the in-person section will be online for at least some of the semester. There are multiple sections of the course with various meeting times. Your meeting time should be one of the following:

Take a look on UAccess for your designated section. However, you will be expected to go over prep material, complete a prep problem, and watch a video most class days for the duration of the course.

Prerequisites & Co-Requisites

The only prerequisite is College Algebra or CSc 101.

Instructor & Teaching Staff

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

Course Format and Teaching Methods

Some of the course learning methods used in this course include:

By active learning, I mean that watching the course videos won’t just be starting at a computer screen. Instead, the videos will have periodic embedded questions, which will be worth points. Thus, you’ll need to pay close attention as you watch the videos, and attempt to get as many questions correct as you can! Thus, you can spend some time “actively” learn, rather than “passively” listen to me talk on videos.

By flipped-classroom, I mean that you will often be assigned reading or other material to complete before watching course videos. By doing this, you will (hopefully) have a basic understanding of a concept before watching the video about that concept.

Class Meeting Times

While the course is online, we will have online meetings as the designated course times via zoom or discord. If and when we are able to move to in-person meeting, the in-person section may meet in Education 211. Attendance is recommended, but not required.

Course Objectives & Learning Outcomes

The successful CSc 110 student will be able to:

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

Coursework and Grading Policies

The breakdown of grades in this course is as follows:

As mentioned, though this course is scheduled as in-person, some or all of the semester will end up being live-online. the online course will have its live meetings via zoom. The in-person course will begin with live zoom meetings, but might transition to in-person leter in the semester. For every day of live class (MWF), there will typically be three things to complete beforehand, or on the same day as the class:

The class schedule will be updated with which readings/videos/prep problems are required for each class day.

You should complete the readings either before the corresponding class day, or on that day. These readings can help reinforce the concepts you are learning in the class.

The pre-recorded videos will have built-in quizzes, which are worth 10% of your course grade. It is important that you PAY ATTENTION while watching the videos, otherwise, you might not do so well on the questions, costing you valuable points! If you get a zero on or do not complete more than 7 video quizzes, your final course grade will be docked by 10%.

Generally, the prep problems will be based on recently covered or new topics in the class. In total these will contribute to 5% of the student grade. The general flow for any given class day (MWF) should be like so:

Make sure you check D2L and the course schedule often to ensure that you don’t miss any of these!

There will be a number of programming assignments throughout the class, which will contribute to 40% percent of the student’s grade. There will typically be 2 due per week - one shorter program, and one longer one. In total, the short programs will be worth only 5% of the grade. The long ones will be worth 35% of the grade. The majority of these will be individual projects, but the instructor reserves the right to make some group-based.

There will be four exams throughout the course (including the final), for a total of 45%. The final will be worth 15%, and the others 10%. These exams may cover material from class, the programming assignments, the final project, and the readings. Your lowest exam grade, not including the final exam, will be dropped.

Note that you will be taking these exams online, possibly using an electronic proctoring service, such as examity. When taking an exam, it is important to ensure that you have the proper technology and internet access to complete the exam. I will not be providing make-up opportunities for technical difficulties, such as your battery dying while taking an exam, losing internet during an exam, etc.

The instructor and teaching staff will do their best to have grades back to students in a timely manner. This includes, but is not limited to, grades for exams, projects, programming assignments, and quizzes. Once a grade has been entered for a particular item on the digital grade-book, students have at most 5 days (including weekends) 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:

Finally, each student will be required to have four progress meetings with your designated TA three times throughout the course. The meetings must occurr within the efollowing ranges:

For each one of these meetings that you do not complete, a -2% penalty may be given on your course grade.

Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policies, which are available at http://catalog.arizona.edu/policy/grades-and-grading-system#incomplete and http://catalog.arizona.edu/policy/grades-and-grading-system#Withdrawal, respectively.

Late Days

In this class, you are given 3 late days. What this means is that you are allowed to submit up to three programming assignments within 24 hours after the due date throughout the semester, without penalty. you may not use these for short PAs. You should not burn through all of these free late days on the first three assignments though! Consider saving some for later in the course, when you might be in dire need :).

Final Exam

The final exam will be on:

Since this an online course, there will be a window during which the final exam will be available to be taken, which will include the designated time for your course. The window is TBD. For now, you should be prepared to have to take it some time 8am-5pm Arizona time on that day. There will be no make-up opportunities for the final exam.

See also Final Exam Regulations, https://www.registrar.arizona.edu/courses/final-examination-regulations-and-information, and Final Exam Schedule, http://www.registrar.arizona.edu/schedules/finals.htm

Textbook

There is one required textbook for this course: Starting out with Python (4th). The ISBN-13 number is 978-0134444321.

This book is rather pricey on Amazon (around $100). See for yourself: https://www.amazon.com/dp/0134444329/

However, there is good news. Via the inclusive access program at the UofA, you can get a digital copy of this textbook for less-than $30. This should automatically be charged to your bursars account, and you should have access to the text through D2L from day-1 of the course. If you would rather have a hard-copy, there is an option to upgrade (for a fee) so that you can have the digital book and a loose-leaf copy. Though I don’t recommend it, you can also just purchase on Amazon. It might also possible to opt-out of the inclusive access for this textbook.

If you have any questions about how this book is charged to your bursars account, how to access the textbook, when it will be charged, or anything else, contact the instructor directly.

Inclusive Access

Some course materials are being delivered digitally via D2L through the Inclusive Access program. Please access the material through D2L the first day of classes to make sure there are no issues in the delivery, and if you are having a problem or question, it can be addressed quickly. You must take action (even if you have not accessed the materials) to opt-out if you do not wish to pay for the materials, and choose to source the content independently. If you would like to opt-out, contact the uofa bookstore as soon as you can so that you do not miss the deadline. Preferably, within the first week of class. If you do not opt-out and choose to retain your access, the cost of the digital course materials will appear on your October Bursars account. Please refer to the Inclusive Access FAQs at https://shop.arizona.edu/textbooks/Inclusive.asp for additional information.

Equipment and Software

For this class you will need daily access to a computer running Windows, MacOS, or Linux. You will also need regular access to reliable internet signal.

This class is an introduction to programming, specifically programming in Python. Specifically, we will be using Python 3.5 or greater. You can download it here: https://www.python.org/downloads/. We will be using the Mu Editor to write Python code in.

If you have a personal computer, you should download and install Python and Mu on your machine.

Video Recordings

For lecture recordings, students must access content online via D2L. Students may not modify content or re-use content for any purpose other than personal educational reasons. All recordings are subject to government and university regulations. Therefore, students accessing unauthorized recordings or using them in a manner inconsistent with UA policies are subject to suspension or civil action.

Getting Help

Likely, some (or many) of you will find this course challenging. The instructor and teaching staff provide a number of opportunities to receive help when you are stuck.

The instructor and the TAs will try to provide many online office hour opportunities for you to get help. Check the class website for the details about when and how to log into online office hours and get help!

If you are unable to use office hours, you can also get help online via Piazza. However, you may not publicly post any of your code or solutions to problems. If you are making a public post (visible to the entire class) make sure you do not include this. If you would like to include this, post to the instructors only.

If you are ever stuck, ask for help!

Cheating

Unless otherwise specified, you may not work in groups on any coursework. This includes quizzes, exams, programming drills, programming assignments, etc. You may not share code, copy/paste code, re-use code from solutions found online, look at each-others code, etc.

If cheating is detected on your work, penalties may include (but are not limited to):

Course Schedule

See the schedule page on the class website for the topic and reading schedule.

Department of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a welcoming environment 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.

Threatening Behavior Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students.

Accessibility and Accommodations

At the University of Arizona we strive to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, you are welcome to let me know so that we can discuss options. You are also encouraged to contact Disability Resources (520-621-3268) to explore reasonable accommodation. Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.

Code of Academic Integrity

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See http://deanofstudents.arizona.edu/academic-integrity/students/academic-integrity.

The University Libraries have some excellent tips for avoiding plagiarism, available at http://www.library.arizona.edu/help/tutorials/plagiarism/index.html.

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.

UA Nondiscrimination and Anti-harassment Policy

See http://policy.arizona.edu/human-resources/nondiscrimination-and-anti-harassment-policy.

Additional Resources for Students

UA Academic policies and procedures are available at http://catalog.arizona.edu/policies. Student Assistance and Advocacy information is available at http://deanofstudents.arizona.edu/student-assistance/students/student-assistance.

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.

Absence and Class Participation Policy

The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at: http://catalog.arizona.edu/policy/class-attendance-participation-and-administrative-drop

The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable: http://policy.arizona.edu/human-resources/religious-accommodation-policy.

Absences pre-approved by the UA Dean of Students (or dean’s designee) will be honored. See https://deanofstudents.arizona.edu/absences

CSC Department COVID Policy

All Spring 2021 CSC courses, whether In-Person, In-Person Flex, or Live Online, will provide recorded lectures for students along with office hour accommodations via Zoom. Additionally, In-Person and In-Person Flex courses will accommodate students who cannot attend class in-person to take midterm exams. Attendance will not be factored into final grades for any computer science course during the Spring 2021 semester.

UA COVID Policies

Face coverings are required in our classroom: Per UArizona’s Administrative Directive, face coverings that cover the nose, mouth, and chin are required to be worn in all learning spaces at the University of Arizona (e.g., in classrooms, laboratories and studios). Any student who violates this directive will be asked to immediately leave the learning space, and will be allowed to return only when they are wearing a face covering. Subsequent episodes of noncompliance will result in a Student Code of Conduct complaint being filed with the Dean of Students Office, which may result in sanctions being applied. The student will not be able to return to the learning space until the matter is resolved.**The Disability Resource Center is available to explore the range of face coverings and accessible considerations if you believe that your disability or medical condition precludes you from utilizing any face covering or mask option.

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.

For this class you will need daily access to the following hardware: A computer, regular access to reliable internet signal; ability to download and run the following software: Python3.5+, the Mu code editor, and a web browser.

For lecture recordings, students must access content in D2L only. Students may not modify content or re-use content for any purpose other than personal educational reasons. All recordings are subject to government and university regulations. Therefore, students accessing unauthorized recordings or using them in a manner inconsistent with UArizona values and educational policies are subject to suspension or civil action.

Accessibility and Accommodations

At the University of Arizona, we strive to make learning experiences as accessible as possible. If you anticipate or experience barriers based on disability or pregnancy, please contact the Disability Resource Center (520-621-3268, https://drc.arizona.edu/) to establish reasonable accommodations.