-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathslides-01-01.qmd
189 lines (111 loc) · 5.41 KB
/
slides-01-01.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
---
title: "course introduction (slides)"
format: revealjs
website:
google-analytics: "G-X5E6TNHNQ5"
cookie-consent: true
slide-number: true
---
# CSc 110 Computer Programming I -- Course Intro
## **Welcome to CSc 110**
- This is CSc 110, Introduction to Computer Programming I
- Want to learn how to program? . . . You're in the right class!
## Who am I?
- Xinchen Yu (you can call me Xinchen or Dr. Yu)
- Office: Gould-Simpson 829
- Office hours: Wednesday 10:30am - 12:00pm
## Who are the teaching assistants? (TAs)
The TAs are responsible for:
- Helping you, the students, succeed
- Grading assignments, quizzes, and exams
- Helping students on office hours
. . . So get to know them!
## What is this class, anyways?
- You will learn how to program in Python (version 3)
- Will cover many of the basic principles and concepts, such as
- input/output
- conditionals and loops (control flow)
- functions and decomposition
- data structures and more!
- Prerequisites: College Algebra or CSc 101 or appropriate math placement score
## The intro sequence
This is the intro course sequence for the CS department:
<center>
<br/>
<p>CSc 101 - Intro to Computer Science</p>
<img src="images/arrow_down.gif" width="50" align="center"/>
<p>CSc 110 - Intro to Computer Programming I</p>
<img src="images/arrow_down.gif" width="50" align="center"/>
<p>CSc 120 - Intro to Computer Programming II</p>
</center>
## What do you need to succeed in this class?
A willingness to:
- be curious about how things work
- try and fail
## What do you need to succeed in this class?
- Access to a computer with internet (you can get one from the library)
- Install Python and an IDE/editor (Visual Studio Code is recommended)
- Do the readings, watch the videos, come to class, come to lab sessions, come to office hours, do the assignments yourself
## How is the structure of this class designed to help you succeed?
- Active learning -- you are expected to engage in the in-class activities
- Small sequential steps -- each week we build on top of the content of the previous week, make sure you are following along
- Spaced repetition -- this is not the type of course you can cram for 2 hours before the exam
- Mastery checks -- frequent assessment
## Assessment structure
- Programming Problems
- Short Projects (to be completed in the lab sessions)
- Projects
- Weekly Quizzes on Wednesday (on paper)
- Midterms and Final Exam (on paper)
## Exams and Quizzes
Exams are on paper. Why?
- Important skill to develop
- You are able to show what you learned
- Whiteboard coding interviews are common
## Quiz 01
Access gradescope, discuss with your group members and work on quiz 01. Answers can be found at:
- Syllabus
- TAs and Office Hours
- Online discussion and office hours
## Other Important Dates
- Last day for students to add themselves to a course using UAccess is Jan 22
- Last day for students to drop without a grade of W (withdraw) is Jan 28
## Academic integrity
You yourself do the work.
Examples of breaches of academic integrity:
- Having a friend do the assignments for you
- Using generative AI (for example, ChatGPT) solve the assignments for you
- Copying a solution from the internet
- Sharing code is cheating
## Materials
- Readings, videos, exercises, slides, assignment instructions will be available on the website
- HOWEVER, you are still responsible for things said/announced in class
## How to get help?
**Before you ask for help:**
- Check for typos (read your error messages)
- Google is your friend (use it wisely). Copy and paste the exact error message on a Google search. (this step also includes read the documentation on the functions you're trying to use).
## How to get help?
**Before you ask for help:** try [rubber duck debugging](https://rubberduckdebugging.com/)

## How to get help?
**Before you ask for help:**
- Try [rubber duck debugging](https://rubberduckdebugging.com/).
Describe the problem aloud, explaining it line-by-line, to a rubber duck or another person (who might not have any experience with programming). This is also a good preparation step to asking other people for help (next section).
## How to get help?
Once you read your error messages, tried different things, read the Python documentation, and have the line-by-line explanation of what you are trying to do, then ask other people for help.
**Be precise and informative**.
The more context you can provide about what you're trying to do and what errors you're getting, the better.
Also describe the steps you took to try to solve the problem yourself.
## How to get help?
Come to office hours but come prepared!
👍 start early, check typo, google, rubber duck...
👎 start late, ask vague questions, ask TA to debug for you
- TAs help answer clarification questions
- TAs do not debug for you (you wouldn't learn to solve them yourself if you are always asking other people to do it for you)
## How to get help?
- Come to office hours!
- 1 point of extra credit if you show up to office hours (read the syllabus for specifics on this)
- Join [Piazza](https://piazza.com/class/m57b63l0btd7k7)
- ask on Piazza: questions about assignments, quizzes, and exams (has private options)
- email me: only logistics-related questions
# This is a difficult course, but we are here to help you succeed