Course Intro
CSCI 1913 – Introduction to Algorithms, Data Structures, and Program Development
Adriana Picoral
Outline
- About me and our staff
- Class overview
Who am I?
- Adriana Picoral (PhD)
- you can call me Adriana, if you want to be formal call me Dr. Picoral (Not Ms. or Mrs.)
- Assistant Teaching Professor
- apicoral@umn.edu
- Office: 300A Lind Hall
- office hours (drop in):
- Monday 12pm to 2pm
- Tuesday 2pm to 4pm
Staff
In this course we a head TA and undergraduate TAs.
The TAs are responsible for:
- Helping you, the students, succeed
- Grading assignments, quizzes, and exams
- Helping students on office hours
csci1913f25-staff@umn.edu
Talk to a neighbor
Introduce yourself!
Share your
- Name
- Program/Major (why you chose that major)
- One thing that you can do that took many hours of practice
Course overview
CSCI 1913 – Introduction to Algorithms, Data Structures, and Program Development
- Second semester course in computer programming
- We bearly recap the basics
- You should know C/C++/Java
- Not for 1133 students
- Strange role in department: “bridge class” – we assume you’re here because you got a taste and now you want more
Not a 1933 alternative
Not a 1933 alternative
- We see this thinking a lot
- We see it cause suffering a lot
- Same topics – different focus/pacing
- We barely give enough time for a C++ student to learn java
- We don’t give enough time for a python student to learn java
3 modules
- Python and the study of Algorithms
- Java and the study of Object Oriented Programing
- The design and implementation of Data Structures
What do you need to succeed in this class?
A willingness to:
- try and fail
- get frustrated and bored
- be curious about how things work
How is the structure of this class designed to help you succeed?
- Active learning – you are expected to engage in the in-class activities
- Deep processing – I will elicit knowledge from you and help you make connections to new content
- Small sequential steps – each week we build on top of the content of the previous week, make sure you are following along
How is the structure of this class designed to help you succeed?
- Spaced repetition – this is not the type of course you can cram for 2 hours before the exam
- Mastery checks – frequent assessment
Readings (5/100)
- Zybooks digital textbook
- Weekly low-stakes assignment (easy points)
- Gives you a background and introduction to topics.
- Due Monday at 5pm
- Using a zybook through canvas
- No late work accepted
- I will drop the lowest Zybook
Readings (5/100)
- ZyBooks is our interactive online textbook. Make sure you have access to the book specific to our section
- You can access the textbook by going through the link on any of the Zybook assignments on canvas.
- There will be required exercises from the textbook: Participation Problems and Challenge Problems
- You will have unlimited attempts
- Optional sections of the text book are not a part of any assignment, but may provide extra practice or information on more topics
Labs (15/100)
- Weekly 2 hour programming session with TA support
- Weekly out-of-class homework
- Turned in through gradescope for credit
- You must attend all but 4 of your labs pass the class
- Late work accepted
- I will drop the lowest lab
Labs (15/100)
- Labs can be done in groups
- You can talk to anyone in the class about the labs
- Each gradescope submission can be for up to 3 people
Projects (20/100)
- Three substantial (about 3 weeks) programming projects.
- Each is associated with one of the modules of the course.
- Goals:
- to practice material holistically
- learn complications of large-scale
- build something actually interesting/useful
- These are many students’ favorite part of the class / These are many students’ least favorite part of the class
- Late submissions are accepted (as long as you contact me before the deadline)
Academic Integrity
You yourself do the work
- The goal is not to complete assignments for the sake of completing them, it’s to train your brain
- You don’t bring a forklift to the gym
- The goal is to also find joy in computer science and coding – why do people still learn how to play chess if a computer is capable of beating a human in the game?
Academic Integrity
- Don’t search for the problem on the Internet
- In general, if it’s not something that you could find in the Python reference guide or Java Docs, you shouldn’t be googling it
- Please be sure to review the Scholastic Conduct section of the syllabus
Academic Integrity
- Don’t post the problem on the Internet
- Don’t work with other students, unless specified that you are allowed to
- Don’t use generative AI unless specified that you are allowed to
- If you’re not sure, ask!
LLMs (chatgpt etc.)
- Amazing tools
- I’ve seen students use them carelessly
LLMs
Rule 1: Don’t use LLM to:
- write code
- plan code and problem-solve
- debug code
- test code
- comment or format code
LLMs
Rule 2: When you use it anyways: Cite it
This is the line between “cheating” and “doing the homework wrong”
LLMs
What’s allowed:
- Help you learn
- Help with non-graded practice tasks
- Help you connect to legitimate and useful resource
- Maybe generating data for personal testing
- Generating practice problems
Academic Integrity
- Similarity reports will be ran on projects
- You must be able to explain what you wrote
Academic Integrity Penalty
zero on project, one letter grade will be dropped from your final grade
Quizzes (20/100)
- 10-minute in-class on-paper weekly quizzes (it takes on average 5 minutes to complete)
- heavily based on labs, zybook exercises, and in-class exercises
- will help you prepare for the midterm exams (repeated questions)
- I will drop the two lowest quiz grades
Exams (40/100)
- Two in-person in-class on-paper midterms exams (10/100 midterm 1, 14/100 midterm 2)
- In-person on-paper final exam (16/100)
- 1 page of double sided notes and a scientific calculator are allowed
Accommodations
- The Disability Resource Center (DRC) is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations. The DRC website is https://diversity.umn.edu/disability.
- How can I get accommodations for a disability or medical condition?
- You can make an appointment with Disability Resource Center to discuss any medical conditions that require special accommodations.
Accommodations
- Students registered with Disability Resource Center, who have a letter requesting accommodation, need to contact instructor early in the semester to discuss the accommodations outlined in their letter.
- Email Me (apicoral@umn.edu)
Illness
- The rule is simple: If you are sick stay home
- Do the followig:
- Textbook readings
- Read lecture slides
- Contact course staff so for project extensions