cs120 Syllabus

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

CSc 120: Introduction to Computer Programming II

MWF 3:00pm-3:50pm (3pm Section), Gittings Bldg, room 129B


MWF 4:00pm-4:50pm (4pm Section), Gittings Bldg, room 129B

SYLLABUS: Spring 2023

Description of Course
This course provides a continuing introduction to programming with an emphasis on
problem-solving. It considers problems drawn from a variety of domains, including
Computer Science, and emphasizes both the broader applicability of the relevant data
structures and programming concepts, as well as the implementation of those structures
and concepts in software. Topics include arrays, lists, stacks, queues, recursion, trees,
searching and sorting; classes and objects; invariants; asymptotic complexity; program
development, testing, and debugging.

Course Prerequisites
A grade of C or higher in CSC 110 (or ISTA 130 or ECE 175) or prior programming
experience with Python or a comparable programming language.

Instructor and Contact Information


Name: Janalee O’Bagy, Ph.D.
Email: [email protected]
Office: Gould-Simpson 823
Hours: Wed 1:00pm – 2:00pm (beginning 1/25)
Thu 2:00pm – 3:30pm
Fri 1:00pm – 2:00pm
or by appointment (Note: see the class website for updates)

Teaching Assistants: The contact information and office hours for the class TAs can be
found on the class website.
Websites:
D2L: https://d2l.arizona.edu/d2l/home/1265423

Class website: https://www.obagy.com/cs120/

Required out-of-class videos: Access through D2L, then use the Content tab

Course Format and Teaching Methods


In-class Activities (ICAs)
During lecture, we will have a mix of traditional lecture and in-class activities, typically
done in groups, that reinforce understanding of the material being presented. Students
will submit their solutions for the activities to receive credit for participating in the
lecture. We will use Gradescope for this.

1/10/2023
Out-of-Class activities (OCAs)
In addition, each week there will be one or two short videos containing additional
information and short quizzes. Students will access the videos through D2L (use the
“Content” tab).

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-2057 or [email protected].
• 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 communications, 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.

Class Recordings

• Lectures may be recorded at the discretion of the instructor. If recorded, the lecture
videos will be available through Panopto, which can be accessed through “D2L->UA
Tools.”
• For lecture recordings, which are used at the discretion of the instructor, 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 (Code of Academic Integrity and the Student Code of
Conduct) are also subject to civil action.

1/10/2023
Course Objectives
The course will provide a foundation in fundamental computer science concepts such as
object-oriented programming, data structures and abstract data types, asymptotic
worst-case complexity, program design, testing, and debugging.

Expected Learning Outcomes


Students who successfully complete this course should be able to:
• effectively decompose simple programming problems into suitable functions;
• comfortably write moderate-sized (100–300 line) programs incorporating a variety
of control and data structures;
• implement common data structures such as stacks, queues, linked-lists and trees
and use recursive solutions when appropriate;
• implement classes given design guidance;
• use a provided style guide to produce clean, readable code;
• identify and create black box and white box tests and to use assertions in order to
facilitate the testing and debugging of their programs;
• determine the time complexity of simple algorithms and state their complexity in
terms of big-O notation.

Absence and Class Participation Policy


The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is
available at https://catalog.arizona.edu/policy/class-attendance-and-participation
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/policies/attendance-policies-and-
practices

Participating in the course and attending lectures and other course events are vital to
the learning process. As such, attendance is required at all lectures. Absences may
affect a student’s final course grade. If you anticipate being absent, are unexpectedly
absent, or are unable to participate in class online activities, please contact me as soon
as possible. To request a disability-related accommodation to this attendance policy,
please contact the Disability Resource Center at (520) 621-3268 or drc-
[email protected]. If you are experiencing unexpected barriers to your success in
your courses, the Dean of Students Office is a central support resource for all students
and may be helpful. The Dean of Students Office is located in the Robert L. Nugent
Building, room 100, or call 520-621-7057.
We will not take attendance during lecture, however, all students are required to submit
the in-class activity (ICA) solutions. These solutions, which should include the Word of
the Day (if one is selected), will demonstrate their engagement with the material. (While
the ICAs will be available online, students watching the recording will not know the Word
of the Day, and as such will receive at most half credit for the ICA.)
Note: attendance is required for exams, unless the student has a disability-related
accommodation (see below).
To request a disability-related accommodation to this attendance policy, please contact
the Disability Resource Center at (520) 621-3268 or [email protected]. If you
are experiencing unexpected barriers to your success in your courses, the Dean of

1/10/2023
Students Office is a central support resource for all students and may be helpful. The
Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call
520-621-7057.

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(s) 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-
[email protected]). 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.

Statement on compliance with COVID-19 mitigation guidelines: As we enter the


semester, our health and safety remain the university’s highest priority. To protect the
health of everyone in this class, students are required to follow the university guidelines on
COVID-19 mitigation. Please visit www.covid19.arizona.edu.

Makeup Policy for Students Who Register Late


Students who register for class late will be allowed to make up missed assignments; all
missed assignments will be due at the same time as the second long assignment.
Students will not be allowed to register for the class more than two weeks after it
begins.

Course Communications
The primary path for outside-lecture communications will be the class Discord server.
The Discord link is posted on D2L and the class website. If a student has an issue that
cannot reasonably be resolved through Discord (inappropriate to discuss publicly, private
issue, etc.) then the student may email the instructor.

Required Texts or Readings


There are no required textbooks. Students are responsible for the material provided in the
lecture slides, which are posted on the class website before the lectures.

Assignments and Examinations: Schedule/Due Dates


I. Programming Assignments
This class will have regular programming assignments
Assignments will generally be given on Mondays and will consist of two components: (1)
a set of short problems due on Thursday, and (2), a set of one or more larger problems
due the following Tuesday.
Assignments will be due by 7pm.
NOTE: The first week of class may have a different assignment due-date schedule.

1/10/2023
Each assignment pair (short/long assignment) will be worth the same amount. No
assignments are dropped, however, during the last week of the class, students will be
given the opportunity to rewrite one of the long assignments and have it regraded.

Late Day
Each student will be allocated 1 Late Day which may be used throughout the semester. A
late day allows the student to turn in an assignment’s long problem set up to 24 hours
late.
NOTE: a late day cannot be used on the short problems or on the last (re-do)
assignment.
If a student has used their late day, a late submission on a later assignment will not be
accepted. The student will receive a 0 on that assignment.

II. Activities
In-class Activities (ICAs)
During lecture, we will have a mix of traditional lecture and in-class activities, typically
done in groups, that reinforce understanding of the material being presented. Students
will submit their solutions for the activities to receive credit for participating in the
lecture. We will use Gradescope for this. The ICAs must be submitted to Gradescope by
7pm on the day of the lecture.

Out-of-Class Activities (OCAs)


In addition, each week there will be one or two short videos with embedded quizzes.
Students will access the videos through D2L (Choose the “Content” tab). The OCAs for
any given week are due the Saturday ending the week at 7pm.

III. Feedback Meetings


Students will periodically meet with their TAs, where they will discuss recent
programming assignments and other issues. Each student will meet with their TA
approximately seven times during the semester. Each student will arrange with their TA
about when and how to meet, but the meetings will take place roughly every other week.
Credit will be given for these meetings if the student is on time and participates in the
discussion. Each meeting will be graded on an all-or-nothing basis.
We will use a nonlinear scaling method for these grades, as shown below:
Miss 0 or 1 meetings -> Full credit for the category
Miss 2 meetings -> 75% credit for the category
Miss 3 meetings -> 50% credit for the category
Miss 4 meetings -> 25% credit for the category
Miss 5 meetings -> No credit
IV. Midterms
There will be two midterms given on the following dates:
Midterm 1: Friday, February 24, 2023

1/10/2023
Midterm 2: Friday, April 7, 2023
Midterms are given during the normal class period and will be 50 minutes. No midterms
are dropped.
Make-up exams will not be given, however, if a midterm is missed due to extenuating
circumstances, I will use the grade of the final exam to replace the midterm grade.

V. Final Examination
The final exam is given in the regular classroom (Gittings 129B) for both Sections.

For the 4:00pm Section – Friday, May 5, 2023, from 3:30pm-5:30pm.

For the 3:00pm Section – Tuesday, May 9, 2023, from 3:30pm-5:30pm.

Final Exam Regulations and Final Exam Schedule: https://registrar.ariz ona.edu/faculty-


staff-resources/room-class-scheduling/schedule-classes/final-exams

VI. Regrades
For the long portion of programming assignments, students should contact their TA to
ask for a regrade. For tests, students should use Gradescope’s “Regrade Request”
feature to ask the grader responsible for the question. In both cases, students should
attempt to resolve the issue with that contact person, but they can escalate to the
instructor if an acceptable solution cannot be reached.

Grading Scale and Policies


Point Distribution
Grades will be computed using the following weighting for the graded components of the
class:
45% Weekly programming
4% In-class activities (ICAs)
3% Out-of-class activities (OCAs)
3% Feedback Meetings
30% Midterms (15% each)
15% Final

Grading Scale
The weighted score computed using the above distribution will translate to letter grades
as follows:
90% and above: A
80% and above, but below 90%: B
70% and above, but below 80%: C
60% and above, but below 70%: D
Below 60%: E

I will use a simple grade cutoff scheme. This means if you earn the number of points
listed for a given grade, you are guaranteed that grade. At the end of the semester, I

1/10/2023
reserve the right to lower these cutoffs, but I will not raise these cutoffs. (This means I
can make it easier to earn the letter grades in the categories above, but not harder.)
Grading Schedule
Programming assignments will typically be graded within 6 days of the due date. If
exceptions have to be made occasionally, staff will inform the students about the delay
and the reason for it.
Tests will be graded within 10 days.
Late Work
Students have 1 Late Day that can be used on any long programming problem except
the last long programming assignment.
Regrades
Regrades must be requested within 7 dates of the grade being returned to the student.
For everything except tests, students should contact their TA to ask for a regrade. For
tests, they should use the Regrade Request tool inside GradeScope. In either case, the
student should start by contacting the appropriate person. Afterwards, they are free to
contact the instructor if a resolution cannot be found.
Extra Credit
Extra credit will not be available.
Department of Computer Science Grading Policy:
1. Instructors will explicitly promise when every assignment and exam will be graded
and returned to students. These promised dates will appear in the syllabus,
associated with the corresponding due dates and exam dates.
2. Graded homework will be returned before the next homework is due.
3. Exams will be returned "promptly", as defined by the instructor (and as promised
in the syllabus).
4. Grading delays beyond promised return-by dates will be announced as soon as
possible with an explanation for the delay.
Incomplete (I) or Withdrawal (W):
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.
Dispute of Grade Policy: See the regrade policy above.

Scheduled Topics/Activities

The lectures will cover the material shown in the table below. Note that the schedule is
approximate and subject to change. The order of topics is subject to change. Students are
responsible for all material covered in lecture, even if the actual lectures deviate from this
overview.

As described in the “Assignments and Examinations: Schedule/Due Date” section


above, programming assignments (PAs) consist of short and long components and are given
weekly. The due date for each component is given in the table, as well as the Midterm exam
dates.

1/10/2023
Week Week of Topic/Lecture Assigned Assignment Due
no. Slides Dates & Midterm
Dates
1 01/09/2023 Class intro, Python PA 1 – 01/13
review
2 01/16/2023 Python review PA 1 short – 01/19

3 01/23/2023 Python review, PA 2 – 01/23 PA 1 long – 01/24


References, PA 2 short – 01/26
4 01/30/2023 Classes and Objects PA 3 – 01 30 PA 2 long – 01/31
PA 3 short – 02/02
5 02/06/2023 Linked lists PA 4 – 02/06 PA 3 long – 02/07
PA 4 short – 02/09
6 02/13/2023 Linked lists PA 5 – 02/13 PA 4 long – 02/14
PA 5 short – 02/16
7 02/20/2023 Stacks & Queues PA 6 – 02/20 PA 5 long – 02/21
Midterm 1 – 02/24
8 02/27/2023 Recursion PA 7 – 02/28 PA 6 short – 02/28
PA 6 long – 03/02
03/06/2023 ~~Spring Break~~

9 03/13/2023 Recursion and Trees PA 8 - 03/13 PA 7 long – 03/14


PA 8 short – 03/26

10 03/20/2023 Trees, Binary Search PA 9 – 03/20 PA 8 long – 03/21


Trees PA 9 short – 03/23
11 03/27/2023 Trees, Testing PA 10 – 03/27 PA 9 long – 03/28
PA 10 short – 03/30
12 04/03/2023 Complexity PA 11 – 03/03 PA 10 long – 04/04
Midterm 2 – 04/07
13 04/10/2023 Complexity PA 12 – 04/10 PA 11 long – 04/11
PA 12 short – 04/13
14 04/17/2023 Hash tables PA 13 – 04/17 PA 12 long – 04/18
PA 13 short – 04/20
15 04/24/2023 Hash tables, PA 14 – 04/24 PA 13 long – 04/25
Debugging (redo opp)
16 05/01/2023 Advanced topics; PA 14 long – 05/03
review (redo opp)

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.

1/10/2023
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.
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 barriers based on disability or pregnancy,
please contact the Disability Resource Center (520-621-3268, https://drc.arizona.edu/)
to establish reasonable accommodations.

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
https://deanofstudents.arizona.edu/student-rights-responsibilities/academic-integrity .
Uploading material from this course to a website other than D2L (or the class piazza) 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 (or the class piazza), 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.
The University Libraries have some excellent tips for avoiding plagiarism, available at
http://new.library.arizona.edu/research/citing/plagiarism.
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.

Nondiscrimination and Anti-harassment Policy


The University of Arizona is committed to creating and maintaining an environment free
of discrimination. In support of this commitment, the University prohibits discrimination,
including harassment and retaliation, based on a protected classification, including race,
color, religion, sex, national origin, age, disability, veteran status, sexual orientation,

1/10/2023
gender identity, or genetic information. For more information, including how to report a
concern, please see http://policy.arizona.edu/human-resources/nondiscrimination-and-
anti-harassment-policy

Our classroom is a place where everyone is encouraged to express well-formed opinions


and their reasons for those opinions. We also want to create a tolerant and open
environment where such opinions can be expressed without resorting to bullying or
discrimination of others.

Additional Resources for Students


UA Academic policies and procedures are available at http://catalog.arizona.edu/policies
Visit the UArizona COVID-19 page for regular updates.
Campus Health
http://www.health.arizona.edu/
Campus Health provides quality medical and mental health care services through
virtual and in-person care. Voluntary, free, and convenient COVID-19 testing is
available for students on Main Campus. COVID-19 vaccine is available for all
students at Campus Health.
Phone: 520-621-9202

Counseling and Psych Services (CAPS)


https://health.arizona.edu/counseling-psych-services
CAPS provides mental health care, including short-term counseling services.
Phone: 520-621-3334

The Dean of Students Office’s Student Assistance Program


https://deanofstudents.arizona.edu/support/student-assistance
Student Assistance helps students manage crises, life traumas, and other barriers
that impede success. The staff addresses the needs of students who experience
issues related to social adjustment, academic challenges, psychological health,
physical health, victimization, and relationship issues, through a variety of
interventions, referrals, and follow up services.
Email: [email protected]
Phone: 520-621-7057

Survivor Advocacy Program


https://survivoradvocacy.arizona.edu/
The Survivor Advocacy Program provides confidential support and advocacy services
to student survivors of sexual and gender-based violence. The Program can also
advise students about relevant non-UA resources available within the local
community for support.
Email: [email protected]
Phone: 520-621-5767
Campus Pantry
Any student who has difficulty affording groceries or accessing sufficient food to eat
every day, or who lacks a safe and stable place to live and believes this may affect
their performance in the course, is urged to contact the Dean of Students for support.
In addition, the University of Arizona Campus Pantry is open for students to receive
supplemental groceries at no cost. Please see their website at:
campuspantry.arizona.edu for open times.
Furthermore, please notify me if you are comfortable in doing so. This will enable me
to provide any resources that I may possess.

1/10/2023
Pronouns and Preferred Names

This course affirms people of all gender expressions and gender identities. If you
prefer to be called a different name than what is on the class roster, please let me
know. Feel free to correct instructors on your pronoun. If you have any questions or
concerns, please do not hesitate to contact me directly in class or via email (instructor
email). If you wish to change your preferred name or pronoun in the UAccess system,
please use the following guidelines:
Preferred name: University of Arizona students may choose to identify themselves
within the University community using a preferred first name that differs from their
official/legal name. A student’s preferred name will appear instead of the person’s
official/legal first name in select University-related systems and documents, provided
that the name is not being used for the purpose of misrepresentation. Students are
able to update their preferred names in UAccess.
Pronouns: Students may designate pronouns they use to identify themselves.
Instructors and staff are encouraged to use pronouns for people that they use for
themselves as a sign of respect and inclusion. Students are able to update and edit
their pronouns in UAccess.
More information on updating your preferred name and pronouns is available on the
Office of the Registrar site at https://www.registrar.arizona.edu/.

Safety on Campus and in the Classroom


Familiarize yourself with the UA Critical Incident Response Team plans:
https://cirt.arizona.edu/
Also watch the video available at https://ua-saem-
aiss.narrasys.com/#/story/university-of-arizona-cert/active-shooter

Confidentiality of Student Records


http://www.registrar.arizona.edu/personal-information/family-educational-rights-
and-privacy-act-1974-ferpa?topic=ferpa

Land Acknowledgement Statement


We respectfully acknowledge the University of Arizona is on the land and territories of
Indigenous peoples. Today, Arizona is home to 22 federally recognized tribes, with
Tucson being home to the O’odham and the Yaqui. Committed to diversity and inclusion,
the University strives to build sustainable relationships with sovereign Native Nations
and Indigenous communities through education offerings, partnerships, and community
service.

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.

1/10/2023

You might also like