Week 1: Starting the Course
Outcomes
You should be able to:- Write or identify a definition for
- Abstract Data Types (ADTs)
- Abstraction
- Algorithm
- Data Structure
- Data Types
- Encapsulation
- Exceptions
- Information Hiding
- Implementation (of ADTs)
- Program
- Programming
- Pseudocode
- Read pseudocode and explain/identify the goal of the code [We begin the process and continue over the next few weeks]
- Read existing Python code and connect it to corresponding pseudocode [We begin the process and continue over the next few weeks]
Activities
- Kickoff
- Please take the time to review the syllabus,
- scan through the first week or two of our course on the website to look at course structure,
- and watch this Course Overview
(Video, 20 minutes)
- If you care, here are the PowerPoint Slides from that video
- You Do It (YDI) Activity #1 - Top Ten List
- "You Do It" activities are hands on activities where I ask you to read existing code, modify code to do something different, or consider the creation of brand new code. In some situations I will ask that everyone complete an activity. In other situations I will give you the option of how involved you get depending on what grade levels you teach and/or how interested you are in the topic.
- Most "You Do It" activities are acceptable to complete on your own or with a partner.
- All "You Do It" activities are non-graded activities (although I may ask you to submit something just to monitor your progress) created to have you engage with concepts that will be graded at some level in the competency demos. In that regard, they are there to enhance your learning. In most cases, it is the process that I am after rather than the results.
- You Do it Activity #1
- Readings
- Please register for our course on Runestone
- As you may remember from FOP, Runestone is a website that offers free, online, interactive textbooks. It is a great resource for teachers and students alike. We will be using the Problem Solving with Algorithms and Data Structures using Python textbook.
- Most of you already have a Runestone account:
- Log on to your existing account.
- In the upper right corner click on the small person icon and select "Change Course" from the drop down menu.
- On the next page click on "Enroll in a Course"
- On the next page set Course Name to : UNI_DSA_F24 and Apply Changes.
- You can feel free to donate a little bit to contribute to the FREE textbook. But you can also skip this.
- After that you can click on the link for the textbook Problem Solving with Algorithms and Data Structures 3rd Edition
- If you do not have a Runestone account you will first need to create one:
- Go to https://runestone.academy/
- Click on the "Log In" button at the top of the page
- Click on the "Sign Up" button at the top of the next page
- Fill in the fields
- Use UNI_DSA_F24 as the Course Name
- Do NOT check "Create Course"
- You can feel free to donate a little bit to contribute to the FREE textbook. But you can also skip this.
- After that you can click on the link for the textbook Problem Solving with Algorithms and Data Structures 3rd Edition
- Then read Section 1.1
- Section 1.12
- after 1.12. We will save 1.13 for next week as a topic completely on its own.
- Additional Notes
- Section 1.3
- Pay attention to the vocabulary (bolded words) in this section
- Section 1.5
- Pay attention to the vocabulary in this section
- Section 1.6
- At first, it will seem like you could skip this section.
- Don't! There are a couple of new and key ideas in here.
- Read it and think about the key point(s).
- Section 1.8
- Similar to 1.6, this may seem like it is review at first.
- But there is some new vocabulary assigned to old ideas and that vocabulary is important.
- Also, the idea of "sets" and "dictionaries" is mostly new.
- We will revisit these when they become necessary later in the course, but a good first introduction now will be helpful.
- Section 1.3
- This section is probably one session of study all on its own
- Section 1.9
- Mostly review. BUT, you should pay attention to the sub-section on String formatting
- I did not use this in FOP but your authors will use it frequently in this book.
- Mostly review. BUT, you should pay attention to the sub-section on String formatting
- Section 1.11
- This is new. It isn't an emphasis of this course or anything that will be tested on.
- BUT, you will see this in code I give you because it is sometimes necessary.
- Read this section to understand what is happening when you encounter it in my code.
- Section 1.12
- This is all review, but it is worth a few minutes.
- Please register for our course on Runestone
Additional Resources
You may have noticed this on the table of contents page for your textbook. Professor Gerry Jenkins is a retired professor from Long Beach City College who made a bunch of videos to correspond with the readings in your textbook. I have NOT viewed all of them. But, I know how helpful it can be to have a wide variety of study resources.
Videos 1 - 14 on this playlist correspond to material we covered this week.
Crash Course CS: Data Structures