Announcements
Wrap-up and Thank you
🏆 Wrap-up and Thank you! 🌟
Congratulations on making it to the end of the quarter and this academic year!
The final scores are out!
✅ Replacement quiz scores are released. Your replacement quiz grade is a sum of the two quiz components: your multiple-choice Gauchospace score and the score for the code portion you submitted on Gradescope.
✅ Your final project and the extra credit are released on Gradescope as well.
⏰ Regrade requests close on Wed, June 15 at 9PM to ensure that we have enough time to submit the grades to the registrar. We will transfer the scores to Gauchospace after the regrade request window closes.
- Please, follow the regrade request guidelines. Make sure that you run your code with the displayed input to verify the error, before submitting your regrade request.
- For the Gauchospace quiz, there’s a link in the quiz description to a form through which you can submit your regrade request for those questions.
Please, do not contact any of the course mentors about your grades, since they are not involved in issuing or managing the grades. If you have questions about the autograder results, please use the “Regrade” button on the manually-graded question. If you need to send me an email, please remember to include “CSW 8” in the subject.
I do, however, encourage you to email the mentors to let them know if you found their help valuable. This course would not be possible without their tireless hard work, camaraderie, and dedication. Do not hesitate to send a thank-you note to Ajit, Apurv, Christos, Deept, Justin, Liu, Nicholas, Nikunj, Saikumar, Sara, Vaishnavi, and Xinyu - they would love to hear from you.💕
Last but not least, a big thank you to you, my dear students: Thank you for taking CSW 8 this quarter, for sticking with it until the end, and for contributing in whatever ways you were able to. I loved connecting with you during our class Zoom sessions, office hours, individual meetings, weekend reviews; I enjoyed seeing your forum posts and reading weekly reflections.
I wish you all a fantabulous summer! Good luck with your summer class(es), internships/jobs, goals and plans. I hope that you will carve out some time for a real, restorative break.
All the best wishes, Prof K
Week 10 Review (Storing and Retrieving Data from Files)
Dear all,
You are almost there!!!
- During class and in lab, we reviewed how to read from and write to a file. We also went over the final project and got to admire our journey from the start of the quarter.
- During the labs, we also worked with CSV files and discussed a bit about about the
os
library in python.
Final Due dates and Deadlines ⏰
As you can see on the Calendar, the remaining due date this week includes:
- ⏰ Friday 10PM Due: Project checkpoint 1 on Gradescope (required options in the main program + their functions and asserts)
- ⏰ Friday 11:59PM Due: your course feedback to the university and the department: https://esci.id.ucsb.edu/
- ⏰ Sunday 10PM Due: Project checkpoint 2 on Gradescope (Checkpoint 1 and 2 required options in the main program + their functions and asserts)
The deadlines next week are:
- ⏰ Tuesday 10:30AM - replacement quiz opens on Gauchospace
- ⏰ Tuesday 10PM Due: Final Project on Gradescope (all required options in the main program + their functions and asserts + optional extra credit)
- ⏰ Wednesday 10PM Due: anonymous Final Project Reflection due via Qualtrics (will be linked in zyBooks section 11.1 on Sunday)
Final Project
Updates Section in the Final Project Guidelines (zyBooks 11.1) will contain updates/clarification to the project description.
➡️ Announcements
- Please drop by the CS Spring Undergraduate Research Showcase this Friday (June 3).
- (In person): Poster presentations by the Early Research Scholars (ERSP) and Distinction in the Major (DIMAP) students
- Time and location: 1PM - 3PM, outdoors in the patio of ESB 1001 Everyone is welcome to any part of the event!
- This Saturday, June 4 at 10AM, Prof K will be hosting a final review session to answer any questions about the final project, errors, asserts, and anything else that you’d like to talk about (e.g., how to best prepare and make the most of your summer internship :-)). The recording will be posted in the same folder as the class videos.
At last, wishing you the best of luck for your final exams! Warm up your brain and train yourself well. You all are going to do well in the exams (we believe in you!).
Prof. K and the mentors
Week 8 Labs Extension
Dear all,
We know that this is a really challenging part of the quarter for everyone. Many of you are trying to do your best and are working really hard. Please remember to take breaks, stretch, and drink water!
Since Week 8 labs were a preparation for the final project, we are hoping that you are more aware how unwise it would be to leave working on your code until a few days before the deadline.
Because some of the Week 8 labs and main program structure are going to be needed for the final project, we’d like to encourage those of you who didn’t finish your code yesterday to still make progress on it.
We have created an new Gradescope assignment “Week 8: Labs Extension”. It will allow you to submit your code until this Friday, May 27 at 10PM. This extension applies to everyone in the class, so if you had previously submitted an extension request, we won’t be counting it against you.
If you had submitted your code by the original Wednesday deadline, a percentage of that score will be added to your lab grade as a bonus - good job and thank you for ensuring that you get your work done on time! If you got full credit for it, there’s nothing else for you to do (you do not need to resubmit it again).
If you had or want to submit an extra credit in those labs (i.e., the option to write the all_grades
list to the CSV file and read it back from the file (Chapter 10 material) - then please add those functions to the file called extra_credit.py (remember to import
it in your main.py).
We hope this helps!
All the best wishes with all that you are juggling!
Prof. K and the Mentors
Week 8 Review (More Advanced Functions and Strings)
🎱 Week 8: More Advanced Functions and Strings
Dear all,
Congratulations on making it past Week 8!
- During class, we had a hands-on demo on Tuesday on how to set up and get started with the files for the Week 8 mini-project. On Thursday, we had an iClicker review, going over some of the concepts from Weeks 6-8.
- See the posted slides and videos under the respective tab on Gauchospace for more information.
- We encourage you to carefully go over sections in chapter 8 on zybooks for topics such as string slicing, string methods, multiple function outputs, etc. Text processing is a very common task, so knowing how to get it done quickly with Python’s help will help you achieve a wizard status.
- During labs, we went over some important concepts on strings (and different methods that you can use with them) and functions (pass by assignment, default parameter values, and multiple return values!).
⏰ Week 8 and 9 - Due dates and Deadlines ⏰
As you can see on the Calendar, the deadlines this week are:
- ⏰ Monday 10PM Due: PA09
- ⏰ Tuesday 10PM Due: CA09
- ⏰ Wednesday 10PM Due: LA08 - all non-optional Week 8 zyLabs - should be submitted to the Gradescope assignment
- ⏰ Thursday 10PM Due: LA09 CHECKPOINT labs - all Week 9 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection
➡️ Staying on Track
- Work on completing this week’s lab activities (LA08) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza
- Start early, since solving and debugging the labs (and your final project) at the last moment are a sure way to easily get in trouble. Plan to get the labs finished by Friday - this way, if you do not meet this goal, you still have a few days to recover and get your questions answered.
Week 9 TODO:
- Watch the Recursion video that’s been posted under the Week 9 tab on Gauchospace. 💎
- Watch the video before reading the chapter, since it shows you how to approach solving recursive problems.
- Keep the reference handout nearby (it’s linked on Gauchospace under the video). Consult it as you are working through the zyBook sections this week - pay close attention to the example code shown in the zyBooks Figures (run it, examine the parts of the code and how they map to the concepts on the handout, see if you can write it yourself from scratch, especially in Sections 9.1 - 9.5).
- Watch the videos listed in zyBooks Section 9.7 (Recursion: Additional resources) - the concept of the stack frame, which is described in the second video, is crucial for understanding recursion.
- Since we expect you to watch the videos before completing the zyBook activities, we will not have a synchronous class on Tuesday (May 24).
- Quiz 6 will open up at 10:30am on Gauchospace - you do not need to be on Zoom to take it.
- Read the Quiz description and follow its instructions precisely.
- Take the Practice Gradescope quiz (Week 8) posted under the Week 8 tab on Gauchospace - it will give you a chance to practice submitting your code to Gradescope.
- Thursday class will be dedicated to your questions about recursion and Week 8 labs.
- Quiz 6 will open up at 10:30am on Gauchospace - you do not need to be on Zoom to take it.
➡️ Resources
- Some of you might encounter the
RecursionError: maximum recursion depth exceeded
. Take a look at the Troubleshooting guide and the examples listed there to help you fix your solution.- Exploiting self-similarity (Recursion) is one of the fundamental Comp Sci topics, which will repeatedly come up in future CS courses.
- If you have additional recursion resources that you found helpful, please share it with everyone by posting on the forum.
Check out this helpful resource on strings. We encourage you to try out the examples there and don’t hesitate to use print statements to understand what each method does!
- Here is an awesome, fun 3-min video that showcases a real programming task done in Python: If Programming Was An Anime.
- If you have 5 minutes, take a look at this video explaining why you NEED math for programming (same creator as the previous video).
- Warning: Do not click on any “related links” for suggested YouTube videos. You have been warned.
If you skipped any portion of this post, go back to the beginning and read it again. Else: Congrats! Have a great week ahead!
Prof. K and the mentors
Week 7 Review (Lists and Dictionaries)
🎰 Week 7: Lists and Dictionaries
Happy Weekend!
Two months ago we were celebrating Pie Day (3.14)… can has pie now?
We hope you all had a great week! With just 1/3rd of the course left, we hope you are making sure that you are taking good care of yourselves before we get into the final stretch of the quarter.
- Week 7 was about working with lists and dictionaries, and the different methods that we can use with them.
- Helpful list methods included, for example,
append()
,insert()
,pop()
,extend()
,sort()
(in place!) - Dictionaries used
get()
,update()
,pop()
,clear()
, and much more. - We encourage you to practice writing code from scratch using different methods for lists and dictionaries.
- Helpful list methods included, for example,
- During labs, we went over some important concepts on lists and dictionaries and how to use different methods with them, like list slicing, list iteration etc. We also reviewed nested lists.
⏰ Week 7 and 8 - Due dates and Deadlines ⏰
As you can see on the Calendar, the remaining due date this week includes:
- ⏰ Sunday 10PM: Weekly reflection - the link to it is available under the Week 7 tab on Gauchospace
- we hope that you like the little cartoons that we added there for you :-)
The deadlines next week are:
- ⏰ Monday 10PM Due: PA08
- ⏰ Tuesday 10PM Due: CA08
- ⏰ Wednesday 10PM Due: LA07 - all non-optional Week 7 zyLabs
- ⏰ Thursday 10PM Due: LA08 CHECKPOINT labs - all Week 8 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
Quiz 5 has been graded and released - you should have received an email from Gradescope titled “Your Quiz 5 (week7) for CSW 8, Spring 2022 has been graded”.
- ⏰ Wednesday 10PM Regrade requests are Due on Gradescope
- Note regarding regrade-requests: After the quiz grades are released, students can submit a regrade request on Gradescope as described here: https://ucsb-csw8.github.io//s22/quiz.
- For Gradescope quizzes always use the regrade request button (not email or the forum).
- We also added Common autograder error messages on Gradescope to help you makes sense of some of the errors that you might be seeing there.
➡️ Staying on Track in Week 8
- Work on completing this week’s lab activities (LA07) before Wednesday 9am - ask for clarifications during the office hours, lab sessions (you have a full day of them! attend any to ask your questions), or post your questions on Piazza
- By the end of Sunday: Ideally, you should be finished with PAs for Chapter 8 and done with the CAs for its first 4-5 sections.
🔮 Looking ahead to Week 8, your tasks for the upcoming days are:
- Remember that unlike lists and dictionaries strings are immutable! 💎
- Note that string methods return a new string object instead of modifying the string you asked it to operate on.
- The “📎 Quick access” notes within the zyBooks sections point you to the resources you will definitely need to reference, so make a note of them.
- Write down anything that’s unclear and if you have any questions to ask during class
- Practice writing code from scratch using your IDE.
➡️ Resources
Just a reminder: you can find these announcements on the main course website as well as under the Instructor Announcements on Gauchospace (which is supposed to email it to you automatically).
Check out this helpful resource on lists and dictionaries. We encourage you to try out the examples there and don’t hesitate to use print statements to understand what each method does – it’s an excellent debugging technique!
If you missed the links above, here they are again: make sure you know where to find a guide for submitting a regrade request on Gradescope and explanations for the Common autograder error messages on Gradescope.
Join us on Piazza either for the mindfulness challenge or to try out the fun game that one of your classmates put together. The idea for the user interaction is very similar to what you’ll be doing in your final project. ;-)
Here’s a fun reflection by a digital artist: How I Developed My Art Style Over 2 Years - Daily Drawing & Lots Of Practice!. Seems to apply to learning how to program as well. ;-P
The quarter is beginning to pick up its pace and the workload is naturally increasing in all courses. This weekend, take a moment and look over your schedule and make sure to add some breaks and fun things to it.
We hope you’ll also get to recharge yourselves over the weekend :). Wishing you all a restorative weekend!
Prof. K and the mentors
Week 6 Review
🎲 Week 6: Repeating and Iterating (Loops)
Dear all,
We hope you all had a great week! With 40% of the course in front of us, we hope that you are all looking forward to taking your knowledge to the next level!
- This week, we discussed one of the most important and interesting topics - loops!
- We deconstructed the two types of loop constructs (
while
,for
) and their differences, and how they iterate through a range of numbers or even container types. - We saw the
range()
function in action and discussed how to write loops using the various forms of range:range(stop)
,range(start, stop)
,range(start, stop, step)
. - We also had a party with our tidepool characters to clarify how the nested
for
loops work. During labs, we went over some concepts reviewed in class such as
while
andfor
loop constructs and how to use therange()
function for a container type such as a list. We also went through the concept of nested loops.- The slides and class recordings as well as the videos from the class and lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
⏰ Week 6 and 7 - Due dates and Deadlines ⏰
As you can see on the Calendar, the remaining due dates this week include:
- ⏰ Thursday 10PM:
- Checkpoint labs for Week 5 on Gradescope - we’ve opened up that assignment so you get more practice submitting your code on Gradescope
- Checkpoint labs for Week 6 on zyBooks - the labs are designed to guide you through the solution via their hints
- Not a deadline but a reminder that we have a review session with Prof. K this Friday at 11am. She’ll stay for as long as there are students or until 3 hours have lapsed, whichever comes first. :-)
- ⏰ Sunday 10PM: Weekly reflection - the link to it is available under the Week 6 tab on Gauchospace
The deadlines next week are:
- ⏰ Monday 10PM Due: PA07
- ⏰ Tuesday 10PM Due: CA07
- ⏰ Wednesday 10PM Due: LA06 - all non-optional Week 6 zyLabs
- ⏰ Thursday 10PM Due: LA07 CHECKPOINT labs - all Week 7 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
➡️ Staying on Track
- Continue practicing with the IDE / IDLE to ensure that you can create new files and are not relying on the Python shell
- Stop by the review session this Friday at 11am to ask questions or just chat. :-)
- Work on completing this week’s lab activities (LA06) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza
- By the end of Sunday: Ideally, you should be finished with PAs for Chapter 7 and done with the CAs for its first 4-5 sections.
🔮 Looking ahead to Week 7, your tasks for the upcoming days are:
- Review your notes from Week 3 about Lists and Dictionaries! 💎
- In-place modification and modification of a copy of a list is an important distinction.
- Pay close attention to iterating through the list vs. the dictionary.
- Keep track of the square brackets / parentheses when nesting lists / dictionaries
- Make sure that you work through the examples of how to index nested structures.
- Create your own example of how to nest lists inside a dictionary and dictionaries in a list - share it on a forum, so others can practice with it too.
- The “📎 Quick access” notes within the zyBooks sections point you to the resources you will definitely need to reference, so make a note of them.
- Write down anything that’s unclear and if you have any questions to ask during class
Your TO-DO before Week 7
- meet Week 6 deadlines (see above)
- follow the “Staying on Track” advice above
- try the Practice Gradescope Quiz ==»> ⚠️ start on Gauchospace to get your version, then head over to Gradescope to submit your file there
- take good care of yourself (check out the “Mindfulness Daily at Work” post on Piazza if you want to join Prof K on a 40-day mindfulness journey)
➡️ Resources
- If you are still confused about if name == “main”, have a look at this article to read more about it (🐍 snake picture alert!). We encourage you to use a template to help you with the function definition and the
if __name__ == "__main__":
in your main.py file. - Use Python Tutor to visualize your code and let us know if you have other debugging tips that would be helpful to share with others.
We are happy to see that you are working hard and making your way through the difficult weeks of the quarter. Let’s keep the spirit up. We are here to help you with anything you need – don’t hesitate to reach out to us through piazza or attend our office hours during the week. We hope you’ll also get to recharge yourselves over the weekend :). Wishing you all a lovely weekend!
Prof. K and the mentors
Week 5 Review
🌟 Week 5: Writing reusable, generalizable code (Functions)
Dear all,
We hope you all had a great week! With 50% of the course behind us, we hope you are all enjoying coding in Python and learning more about Computer Science!
- During class this week, we learned about one of the most important topics - functions and testing done via the
assert
statements! - We discussed the importance of functions and how they help make the code reusable and remove redundancy.
- We discussed how to write functions (function definition), how to execute functions (function call), the different kinds of arguments a function takes and how they are different from the function parameters, the different kinds of outputs a function can have, how to output values (print vs. return statement), different python IDEs, and much more.
- We haven’t talked in-depth about the dynamic vs static typing, and namespaces but we will be going over them in the coming weeks, so please read up on them and bring your questions.
During labs, we went over some concepts taught in class such as function definition and function call. In addition to this, we demonstrated how to upload solutions to Gradescope so that they can be autograded. We also demonstrated how to use IDLE and how it can be helpful to test your code.
- The slides and class recordings as well as the videos from the class and lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
⏰ Week 5 and 6 - Due dates and Deadlines ⏰
As you can see on the Calendar, the remaining due date this week includes:
- ⏰ Sunday 10PM: Weekly reflection - the link to it is available under the Week 5 tab on Gauchospace
The deadlines next week are:
- ⏰ Monday 10PM Due: PA06
- ⏰ Tuesday 10PM Due: CA06
- ⏰ Wednesday 10PM Due: LA05 - all non-optional Week 5 zyLabs
- ⏰ Thursday 10PM Due: LA06 CHECKPOINT labs - all Week 6 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
➡️ Staying on Track
Make sure as to not to hardcode to pass the test cases in labs. Your code will be tested on random inputs apart from those given in testcase. So you code should be functionally correct to get full grades.
- Work on completing this week’s lab activities (LA05) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza
- By the end of Sunday: Ideally, you should be finished with PAs for Chapter 6 and done with the CAs for its first 4-5 sections.
🔮 Looking ahead to Week 6, your tasks for the upcoming days are:
- If you run into errors or tests not passing, carefully re-read the instructions. 💎
- We will be learning about a very important concept: Loops (Repeating and iterating).
- Note that the
while
loop needs to have its loop variable initialized before the loop and updated inside the loop (to get it closer to the sentinel value) - Pay close attention to the difference in the behavior of the
range()
when we give it 1, 2, or 3 arguments
- Write down anything that’s unclear and the questions to ask during class
➡️ Resources
Check out this Piazza note to read the Tips and Tricks on how to set up and get the most of Piazza!
Prof. K will be holding a review session this Sunday (05/01) at noon PST, so if you have any questions or just want to learn some more cool things feel free to stop by.
*Just for fun: Here’s a choose-your-adventure walkthrough with a riddle, implemented in Python. Download the zip file using the link, open it up, and run the story.py
(if you have IDLE installed, it will open the file automatically if you double-click on it; when it opens, click anywhere inside the file, and then use the Run -> Run Module
to get started). This adventure is intended to be run on the terminal, so if you know how to do it (or search the web for “run python in terminal”), we recommend doing so for the best experience!
- Wanna see what songs your classmates listed as their favorite song? check out this post on Piazza - so many great suggestions!
Things are speeding up and we hope that you’ll use this weekend to catch up on anything that’s been unclear or tripping you up. We are here to help you with anything you need – We hope that you’ll make time to recharge yourselves over the weekend :)
Prof. K and the mentors
Week 4 Review
🍀 Week 4: Making decisions in programs (Branching)
Dear all,
We’re almost halfway through the quarter!
- During class and lab, we discussed different data structures such as:
- Conditionals
- Booleans and Boolean Operators: Comparison Operators and Logical Operators
- Branching using the
if
-elif
-else
statements assert
statements for writing tests of return values
The slides and class recordings as well as the videos from the class and lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
- The last section of every chapter in zyBook contains our class notes, which we update afterward with whatever was discussed in class. Sometimes, like this week, there is additional code for you to practice with (the number-guessing game using the
random
module).
⏰ Week 4 and 5 - Due dates and Deadlines ⏰
Check the Calendar, for the due dates. They are the same as they’ve been before.
- ⏰ Sunday 10PM: Weekly reflection - the link to it is available under the Week 4 tab on Gauchospace
Important: this Friday is the deadline to drop this course without a W.
Keep in mind that the College of Engineering does not allow this course to be switched to P/NP later.
➡️ Staying on Track
- Work on completing this week’s lab activities (LA04) before Wednesday 9am - getting assignments done early to leave yourself plenty of time to ask for help and for clarifications will become crucial as you might not be able to get last-minute help.
- Ask for clarifications during the office hours, lab sessions, or post your questions on Piazza
- By the end of Sunday: Ideally, you should be finished with PAs for Chapter 5 and done with the CAs for its first 4-5 sections.
🔮 Looking ahead to Week 5, your tasks for the upcoming days are:
- Carefully read the instructions! Do NOT rush through them. 💎
- Practice writing reusable and generalizable code using functions.
- Carefully read about how to write the
assert
statements. Notice the general form of the statement: the keywordassert
followed by a condition (usually with the==
operator).
If you ever have any questions, please, first consult the course syllabus and the Frequently Asked Questions (FAQ) section. A lot of course structure, helpful hints, and expectations are also outlined for you on that page.
Grade updates
Your zyBook grades have to be manually transferred to Gauchospace, so the synchronization is not instant.
- Your grades for each week’s activities will be all updated on Fridays at 10am.
- The extensions will be processed as a batch at the end of each week on Saturdays by 10 am - you will receive a confirmation when your extension was processed and the grade was updated.
- Remember that we will not accept retroactive extension requests for previous weeks.
Check the Syllabus about our policies: note that we do not provide additional extensions without proper documentation that shows 1) your name, 2) dates, and 3) the reason/explanation for the extension.
Syllabus updates
As promised, the Syllabus has been updated with the iClicker participation policy.
Previously, the Grading section stated
10% Course Participation: synchronous participation + weekly reflection;
2 lowest/missing of each will be dropped
Check the updates to the Grading section to make sure you are aware of the new breakdown.
The iClicker accuracy of your responses (performance) is not going to be included as part of your main score. We do, however, plan to offer an occasional extra credit for those who manage to answer all or almost all questions correctly. 🎖️
Your TO-DO before Week 5
- Please download and install Python before next week.
- Read about Python installation and working with IDLE
- Create a file called
week5_laps.py
using the sample lab instructions - Create an account on Gradescope using the link provided on Gauchospace (underneath the iClicker link)
- Submit your
week5_laps.py
file on Gradescope. You can submit an unlimited number of times until the due date. - Now is a good time to review How to Succeed in CSW 8: things will get busier and more complex in the following weeks, so please plan accordingly by creating the study blocks in your calendar.
➡️ Resources
In addition to the installation guide and a brief intro to IDLE that we provided, here are some optional resources for you to explore.
- Learn about using Python IDLE. Here is a nice resource for doing so.
- Python Tutor is a cool resource for running code in Python - we highly recommend it!
- This website allows you to trace through your code step by step so you can see exactly how your code is being executed.
✨ Lastly, here is some great insight on Differential Privacy (a concept that you saw mentioned in one of the labs this week).
Wishing you a lovely weekend!
Prof. K and the mentors
Week 3 Review
📚 Week 3: Representing data (Variables and Types)
Dear all,
Hope you’re having a great time thus far! We have been really happy to meet those of you who stopped by the office hours, so don’t hesitate to join us even if it’s just to say “Hello” :-)
Before we dive into Week 4, we wanted to take a step back to review what happened in Week 3. If there is anything from Week 3 that you are still unsure about, especially, regarding indexing and string formatting, make sure that you review and clarify it. The material in this class will begin to build on itself a lot more after Week 4, so make sure that you are comfortable with what we’ve covered so far.
- As mentioned in the Syllabus: this class “require synchronous interactions and active participation.”
- Make sure that you’ve installed the iClicker app and followed the link at the top of the Gauchospace page to create your account and add our class.
- We added the notes about how to register and how to join the class to the Section 3.22 in zyBooks (Week 3: Student activities and notes).
- At the end of this week, we will update the Syllabus to clarify the iClicker policies.
- During class and lab, we discussed different data structures such as:
- Tuples (Immutable Data Store),
- Sets (Mutable Data Store),
- Lists (Mutable Data Store),
- Dictionaries (Mutable Data Store)
- Indexing in ordered data structures and dictionaries
- Modifying lists and dictionaries
- Various useful built-in operations in data structures
- String Formatting
- Binary Numbers
- We had our second quiz (Quiz 2) and the results have been released on Gauchospace.
- Quizzes are announced in advance during the class (i.e., during the previous week and/or previous class time).
- Any regrade requests should be submitted through a form that’s linked in the quiz description on Gauchospace.
- Make sure that you’ve installed the iClicker app and followed the link at the top of the Gauchospace page to create your account and add our class.
- The slides and class recordings as well as the videos from the class and lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
⏰ Week 4 - Due dates and Deadlines ⏰
Keep in mind that your grades have to be manually transferred to Gauchospace, so the synchronization is not instant. Your grades for each week’s activities will be updated on Fridays at 10am. We will process the extensions on Saturdays by 10 am - you will receive a confirmation when your extension was processed and the grade was updated.
The Week 4 deadlines are:
- ⏰ Monday 10PM Due: PA04
- ⏰ Tuesday 10PM Due: CA04
- ⏰ Wednesday 10PM Due: LA03 - all non-optional Week 3 zyLabs
- ⏰ Thursday 10PM Due: LA04 CHECKPOINT labs - all Week 4 zyLabs with “checkpoint” in the title
- ⚠️ Friday, April 22 is the final day to drop this class without a W. Note that you will not be able to change this course to P/NP later.
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
➡️ Staying on Track
- Work on completing this week’s lab activities (LA03) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza
🔮 Looking ahead to Week 4, your tasks for the upcoming days are:
- Get the iClicker app ready to be used in class.
- Understand the flow of the program based on the results of Boolean conditions. Practice writing
assert
statements. 💎- We will work with branching and
assert
statements a lot more in the following weeks. - The “📎 Quick access” notes within the zyBooks sections point you to the resources you will definitely need to reference, so make a note of them.
- If the “Instructor note” in zyBooks is asking you a question, work through it - chances are, it might appear on a quiz.
- We will work with branching and
- Write down anything that’s unclear and questions to ask during class.
New Resource for Troubleshooting
We have added various 🐛 Debugging scenarios and solutions to our course website. We will be further expanding it with the errors and examples that you submit on Piazza to the pinned “Errordeck” post. We hope that you’ll find it to be a helpful resource.
If you ever have any questions about the course policies, please, first consult the course syllabus and the Frequently Asked Questions (FAQ) section. A lot of course structure, helpful hints, and expectations are also outlined for you on that page.
Just a reminder: you can find these announcements on the main course website as well as under the Instructor Announcements on Gauchospace (which is supposed to email it to you automatically).
Remember to carefully read and follow all provided instructions.
✨ LAST, but certainly, not the LEAST - Here’s an interesting perspective on How to actually ENJOY studying (12-minute video). We’ll be asking you for your top 3 on this week’s reflection, so start thinking about it now. ;-)
We are looking forward to a productive week ahead!
Prof. K and the mentors
Week 2 Review
🎭 Week 2: Objects, Functions, and Expressions
Dear all,
We hope you all had a great start to your quarter and that you are enjoying learning more about CS and Python!
- This week, some of the topics that we discussed in class and during the labs included:
- Basic data types (
int
,float
,str
) and how to get them frominput()
- How to use math expressions and the
math
module in Python - Functions and their uses in programming
- Formatted strings in Python
- Different kinds of errors
- and much more!
- Basic data types (
- As mentioned in the Syllabus: this class “require synchronous interactions and active participation.”
- This week, during class, we worked through two labs/activities (LAs 2.17 and 2.18 in zyBooks).
- In the lab, just like in class, we focused on writing functions, including the reasons for doing so. TAs discussed it, even asking for the total number of lines of code that we’d need to write if we didn’t write the function.
- We had our first quiz (Quiz 1) and the results have been released on Gauchospace.
- Quizzes are announced in advance (i.e., during the previous week and/or previous class time).
- Any regrade requests should be submitted through a form that’s linked in the quiz description on Gauchospace.
- The slides and class recordings as well as the videos from the class and lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
ℹ️ Pay attention to the Troubleshooting section of the zyLabs, especially, the checkpoint labs - we aggregate the most common issues that we see in the office hours and on Piazza, and add them there with the suggested solutions. If you run into an issue, check those sections first.
⏰ Week 2 and 3 - Due dates and Deadlines ⏰
As you can see on the Calendar, the due dates this week included:
- ⏰ Thursday 10PM: complete the zyLabs with the word “Checkpoint” in their title + the zyBooks activities mentioned in the “Deadlines extended” announcement.
- ⏰ Sunday 10PM: Week 2 reflection - the link to it is available under the Week 2 tab on Gauchospace
- Work on completing Week 2 lab activities (LA02) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza (you can watch the Week 1 Th class recording to see how to make a new post/post a follow-up)
The deadlines next week are:
- ⏰ Monday 10PM Due: PA03
- ⏰ Tuesday 10PM Due: CA03
- ⏰ Wednesday 10PM Due: LA02 - all non-optional Week 2 zyLabs
- ⏰ Thursday 10PM Due: LA03 CHECKPOINT labs - all Week 3 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
➡️ Staying on Track
By the end of this Sunday: Ideally, you should be finished with PAs for Chapter 3 and done with the CAs for its first 4-5 sections.
🔮 Looking ahead to Week 3, your tasks for the upcoming days are:
- Do not try to memorize everything! 💎
- We will work with strings, tuples, lists, and dictionaries a lot in the following weeks, so we will revisit them again.
- Get a sense of what each data structure (the data type) does by noticing similarities and differences.
- The “📎 Quick access” notes within the zyBooks sections point you to the resources you will definitely need to reference, so make a note of them.
- Write down anything that’s unclear and questions to ask during class
- Carefully read through the guide for Translating Lab Instructions Into Code.
If you haven’t already done so, please complete the action items that we posted for you in our first announcement (you can see it in the “Getting Started” post on the website or under the Week 1 tab on Gauchospace. - We specifically recommend creating an email filter for CSW8 messages to make sure that you see the announcements and emails from us in your primary inbox.
If you ever have any questions, please, first consult the course syllabus and the Frequently Asked Questions (FAQ) section. A lot of course structure, helpful hints, and expectations are also outlined for you on that page.
Your success in this course will largely depend on how carefully you read and follow the instructions.
Looking ahead in Week 2
As part of following the instructions, this week, we were using f-strings and the if __name__ == "__main__"
block (for the main program) without diving deeper into how they work. The goal was just to use these concepts by following the provided pattern, which is an important skill.
In zyBooks’ Week 3 sections (Section 3.10 String formatting and 3.11 Alternative string formatting), you will get more details on and practice with the f-strings.
If you are eager to learn more about functions, then you can jump ahead to Week 5 in zyBooks. The easy-to-start sections include:
- 5.1 (the basics),
- 5.4 (reasons for defining functions),
- 5.5 (writing math functions),
- 5.8 (common errors),
- 5.9 (scope - local vs. global variables). Section 5.11 discusses the
if __name__ == "__main__"
block.
Week 5 is also when we will begin to work with Gradescope - since we are not using it yet, don’t worry about it.
In closing, here’s something fun that you might explore if you are a fan of manga: Manga Out of the Box, a new offering from Google Arts and Culture. You can even draw your own manga character with help from Machine Learning (ML).
We wish you a nice weekend!
Prof. K and the mentors
⏰ Deadlines extended
Dear all,
I was informed this morning that there was an issue with the waitlist, so it stayed open much longer than we were expecting.
This is a very fast-paced course, so you need to ensure that you are keeping track of the due dates and are proactively keeping up with (or staying ahead of) the course material. The material will build on itself every week, but things will get much easier with practice.
TO accommodate students who were added late and give them a little more time for practice, the whole class gets the benefit of an extended deadline.
⏰ tomorrow (Thursday, April 7) at 10PM, we will collect everyone’s scores from zyBooks for the following activities:
- PA01, CA01, LA01
- PA02, CA02, LA02 Checkpoint LA01 Checkpoint is not covered by this extension - instead, just make sure that you finished the labs from last week.
From now on, any extension that you request, it will need to be submitted through the form, linked in our Syllabus: https://ucsb-csw8.github.io/s22/about/#deadline-extension-for-zybook-activities
We do not provide individual extensions that are not submitted through this form.
As I mentioned in class on Tuesday, if you see your PA01/02 scores on Gauchospace’s gradebook, then your student ID is correct and you can skip the rest of this message.
Otherwise, you need to fix your student ID in zybooks. Go to “My Subscription” tab on zyBooks to check your ID (we posted a screenshot on Gauchospace of where to find it).
- make sure it is not empty
- if it is not empty, verify that it has 7-digits WITHOUT any dashes
If you don’t fix your ID, you will automatically fail this course, because we will be unable to transfer your grades from zyBooks to the gradebook on Gauchospace.
I hope that this is helpful.
See you in class!
Prof. K
Week 1 Wrap-up
🐣 Week 1: Intro to Python 3
End of the week review
Happy Aloha Friday! 🌺
You successfully made it to the end of Week 1!🏝️ Congratulations!
We know that the start of the class (and the quarter in general!) might feel overwhelming. This is expected and is normal. We promise that after the second week, you’ll start getting more comfortable with the course structure. We look forward to seeing you maximize your use of the various resources available to you in this class.
Here are the links that from our course Syllabus that we recommend bookmarking:
- Gauchospace (the main hub for the course: grades, schedule, weekly reflection links, quizzes, all course links),
- zybooks (our online textbook with PAs, CAs, LAs),
- Piazza (Q&A forum)
- Gradescope (quizzes, some labs, project) - since we are not using it yet, don’t worry about it
- Calendar (weekly topics and due dates; from there, you can easily get to the Schedule that lists the office hours)
If you haven’t already done so, please complete the action items that we posted for you in our first announcement (you can see it in the “Getting Started” post on the website or under the Week 1 tab on Gauchospace.
Your success in this course will largely depend on how carefully you read and follow the instructions.
Each week of the course will have its own dedicated tab on Gauchospace and will list the weekly pattern, your TODOs, and relevant resources for that week.
- The slides and class recordings as well as the videos from the Wednesday lab sections are posted on Gauchospace (look for the ⏩ icon; use your UCSB address - we won’t be granting access to personal gmail accounts.)
- The questions/answers and the code that came up during class are added to the last section in zyBooks: see the class notes from Week 1.
- A lot of your questions are being added to the course FAQ page, which you can easily search.
⏰ Due dates and Deadlines ⏰
As you can see on the Calendar, the due dates this week included:
- ⏰ Thursday 10PM: complete the zyLabs with the word “Checkpoint” in their title (see a note below)
- ⏰ Sunday 10PM: fill out the Welcome survey and submit it by on Gauchospace (see the bottom of the Week 1 tab there)
Note that since this is Week 1 and some students got off the waitlist a bit late, we will be giving full LA01 checkpoint credit for the lab submissions that passed at least one test in any of the checkpoint labs. (If you simply ran the default template in the breakout room lab, you already got at least 3 points there 🎊).
The deadlines next week are:
- ⏰ Monday 10PM Due: PA01, PA02
- ⏰ Tuesday 10PM Due: CA01, CA02
- ⏰ Wednesday 10PM Due: LA01 - all non-optional Week 1 zyLabs
- ⏰ Thursday 10PM Due: LA02 CHECKPOINT labs - all Week 2 zyLabs with “checkpoint” in the title
- ⏰ Sunday 10PM Due: Weekly reflection that will be posted on Gauchospace
To facilitate team interactions and ensure that you know how to post on Piazza (our Q&A forum), we asked you to post your intro in the respective lab post there.
- scroll to the bottom of the posts on the left sidebar to see the first posts (one for each lab section)
- respond in the one that corresponds to the lab that you attended/plan to attend.
➡️ Staying on Track
By the end of Sunday, ideally, you should be finished with PAs for Week 1 and Week 2 zyBook chapters and done with the CAs for most of their sections.
Looking ahead to Week 2, your tasks for the upcoming days are:
- Finish reading zyBooks Week 1 and Week 2 chapters
- Write down anything that’s unclear and questions to ask during class
- Work on completing Week 1 lab activities (LA01) before Wednesday 9am - ask for clarifications during the office hours, lab sessions, or post your questions on Piazza (you can watch the class recording to see how to make a new post/post a follow-up)
- Take a practice quiz on Gauchospace to test your understanding
Welcome to the course! We look forward to a great quarter and to working with you!
Prof. K and the mentors
Getting Started
Hello world! 🖖
Before the first day of class
- Read the course syllabus
- Read the Frequently Asked Questions (FAQ) section.
- Read How to Succeed in CSW 8
- Subscribe to the e-textbook (zybooks, pronounced as zEYE-book) following the instructions posted on the Main tab on Gauchospace.
- This interactive online textbook is required and the subscription must be purchased individually. A large portion of your course grade will depend on the activities that you will complete and submit in this zyBook.
- After subscribing, please, go to https://learn.zybooks.com/library and read through the “How to Use zyBooks” book.
Next steps
- Fill out the Welcome Survey linked on Gauchospace.
- Start reading Week 1 and Week 2 chapters on zyBooks
- Attend the synchronous class
- You will be added to the course forum (Piazza) and the Gradescope site on Tuesday evening, after the first lecture, once we close the waitlist. In the meantime, you can use the form that’s linked on the Syllabus page to submit any questions that you have.