owned this note
owned this note
Published
Linked with GitHub
# What is the CSE 6040 Data Analysis in Python Bootcamp?
### Overview
First of all we want to point out that **participation in the bootcamp *is not required* for this course.**
However, we strongly recommend that students who are not able to complete the [Bootcamp Self Assessment Notebook](#Bootcamp-Self-Assessment-Notebook) in the allotted time consider attending/watching these sessions.
The bootcamp provides additional instructional materials designed to help students with limited Python/programming exposure gain deeper understanding of the concepts and methods on which they will be tested in the three exams in this course.
The purpose and objectives are presented in more detail in the course introduction.
---
### When are the live sessions? Are they recorded?
The live sessions are recorded.
Exactly how to access the sessions/recordings is different across the sections in this course. Please allow 24 hours for us to post the recordings, although we will try to post them earlier.
You can find the details specific to your section in the Bootcamp thread on Piazza.
---
### Where are the materials?
The accompanying code materials are hosted on Google Colab.
See the [Colab Guide](https://cse6040.gatech.edu/active/img/colab_for_bootcamp.pdf) for more guidance on using that tool.
The short version is (1) it's basically a Jupyter notebook and (2) you have to save your work externally (i.e. download it or link it to your Google Drive). Additionally, you will need a Google account in order to run the notebooks. You can access and download them without a Google account, but in order to run them in Colab, you will be required to log in with a Google account.
Links to the accompanying Colab Notebooks are in the [Bootcamp Schedule](#Bootcamp_Schedule) linked to on this page below.
Any new materials will be published in the Bootcamp thread on Piazza.
---
### Should I Attend the Bootcamp Sessions?
We have put together a self assessment Jupyter Notebook for students to determine their skill level with the topics tested in Midterm 1, in a format similar to the exam.
**This notebook is completely *optional* and will not affect your final grade in the course in any way.**
We encourage students to go through the self assessment notebook and determine for themselves if the bootcamp would be helpful for them in the course.
There is a (suggested) time limit of 90 minutes for the 6 exercises in the notebook, but you can take as long as you need to solve the exercises.
As part of your self-assessment, we hope that you include the time you took to complete the notebook into consideration as the exams will be timed.
- If you complete the notebook **within the allotted time**:
- You are probably in a good place to continue without the additional bootcamp materials.\
- If you complete the notebook but **exceed the allotted time**:
- You may benefit from selections of the bootcamp materials related to topics on which you struggled.
- Many students have succeeded in the course with limited programming and Python backgrounds. Don't panic, but realize that you may need to put in some extra time.\
- If you were **unable to complete the notebook**:
- We strongly recommend that you attend (or watch the recordings of) all the bootcamp sessions.
- It is very likely that you will need to spend additional time getting up to speed on Python and programming prerequisites in order to succeed in this course.
---
### Bootcamp Self Assessment Notebook
<a id="Bootcamp Self Assessment Notebook"></a> [Self Assessment notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Self%20Assessments/Module%200%20Self%20Assessment.ipynb)\
[Self Assessment notebook solutions](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Self%20Assessments/Module%200%20Self%20Assessment_With%20Solutions.ipynb)
_______________________________________
# Bootcamp Prep and Foundational Knowledge
The below 12 videos were originally recorded as the first 3 live sessions in the Bootcamp for the Spring 2025 semester.
The content represents foundational knowledge that is essential for student success in the class. The videos cover general programming in Python and some basic Python data types, with a focus on how this knowledge is useful for the class.
We expect that all students, **AS A MINIMUM**, have a full understanding of the material in these videos, in order to be successful in the class.
We have moved these from live sessions to videos in order to add live content related to problem-solving and troubleshooting, which is directly applicable to student success on the course exams.
If students have any questions on the contents in any of the videos, ask in Piazza.
1. [Python Functions](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_01_Python_Functions/1_47nmp8qv) (12 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb1_python_data_types_functions_SP25.ipynb)
2. [Mutable and Immutable Data Types](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_02_Mutable_Immutable_Data_Types/1_d7h7h37r) (1 minute) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb1_python_data_types_functions_SP25.ipynb)
3. [Scalar Data Types](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_03_Scalar_Data_Types/1_cry8zvfj) (7 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb1_python_data_types_functions_SP25.ipynb)
4. [Strings and String Processing](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_04_Strings_and_String_Processing/1_s84rhppp) (19 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb1_python_data_types_functions_SP25.ipynb)
5. [Code Readability and Variable Naming Best Practices](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_05_Code_Readability_and_Variable_Naming_Best_Practices/1_fqjcsohk) (23 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb2_variable_naming_comments_readability_error_handling_SP25.ipynb)
6. [Two Types of Coding Errors in the Class](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_06_Two_Types_of_Coding_Errors_in_the_Class/1_x55lea9v) (5 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb2_variable_naming_comments_readability_error_handling_SP25.ipynb)
7. [Python Coding Errors and Error Handling](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_07_Python_Coding_Errors_Error_Handling/1_0ovsr7w2) (21 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/s2nb2_variable_naming_comments_readability_error_handling_SP25.ipynb)
8. [Tuples](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_08_Tuples/1_d0x078cc) (19 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/s3nb1_tuples_SP25.ipynb)
9. [Lists](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_09_Lists/1_oiwy6nav) (39 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/s3nb2_lists_SP25.ipynb)
10. [Loops](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_10_Loops/1_h88h1lmt) (24 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/s3nb3_loops_SP25.ipynb) Note that the TA did some additional coding in the Colab notebook, and the HTML of the additional code is in the Attachments tab of the video page.
11. [Range Objects](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_11_Range_Objects/1_kj1x7q6l) (17 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/s3nb4_range_SP25.ipynb) Note that the TA did some additional coding in the Colab notebook, and the HTML of the additional code is in the Attachments tab of the video page.
12. [Sets](https://mediaspace.gatech.edu/media/CSE6040_Bootcamp_Prep_12_Sets/1_dk4yw802) (27 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/m0s3nb3_sets.ipynb)
###### Students wanting practice in working with some of the above topics should see the More Python Exercises in Vocareum, in Module 0 Topic 1, Problems 1, 2, and 4.
###### These Codewars problems provide good practice in working with strings and lists.
###### [Find Nth Longest String in Array](https://www.codewars.com/kata/5594c4599934000e1e00002e)
###### [Process Waterfowl Results](https://www.codewars.com/kata/5b0737c724c0686bf8000172)
###### The web site "w3resources" has a very large collection of Python practice exercises, for students wanting to become more proficient with the topics covered in this class. We highly recommend this site for students to practice on their own.
###### As a caveat, many of these exercises do not come with pre-made data structures for the student to manipulate, so the student will need to create the data structures in order to execute the exercise.
###### For example, the exercise may be to sort a list, but the list to be sorted is not provided, and the student must create it as part of their solution. We just want students to understand this, before going into the exercises. [w3resource Python Exercises](https://www.w3resource.com/python-exercises/)
_______________________________________
# <a id="Bootcamp_Schedule"></a>Bootcamp Schedule for Fall 2025
Below is the schedule for the bootcamp sessions for the current semester.
The sessions are conducted **live** for OMSA students, and the session recordings are made available for VMM students via Piazza.
Recordings will be available 24-48 hours after the session and will be published in the Bootcamp Post on Piazza, for both OMSA and VMM sections.
**Note**: Sections titled "Student Review Content" indicate content which students should watch but will not be covered live.
**Schedule Updates**: Updates will be announced via Piazza and posted on the pinned bootcamp thread (although we don't anticipate many updates)
------------------------------------------------------------------------
#### **Session 1 -- Tuesday August 19 -- Introduction 6:30-8:30 PM EDT**
1. Course Introduction by Professor Vuduc
1. Navigating the course web site, Piazza, and some important Canvas/edX module pages.
1. Common Student Questions on Exams and Homework Notebooks.
1. Introduction of Data Analysis in Python Bootcamp Series.
[Presentation Slides](https://github.com/gt-cse-6040/bootcamp/blob/main/presentation_materials/Course_and_Bootcamp_Introduction_FA25_v2.pdf) -- Note that there is a "More Pages" link at the bottom of the page, and you may need to click it several times, to see all 14 slides.
------------------------------------------------------------------------
## **Sessions to prepare for Midterm 1**
------------------------------------------------------------------------
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
**Student Review Content-- Watch these two videos before the next session -- Will not be covered live in the Bootcamp**
[Bootcamp History and Ground Rules Video](https://mediaspace.gatech.edu/media/Bootcamp%20Introduction%2C%20History%2C%20Ground%20Rules%2020240826/1_1jatjagd) (10 minutes) -- [Bootcamp Ground Rules Slide](https://github.com/gt-cse-6040/bootcamp/blob/main/presentation_materials/Bootcamp_Ground_Rules_v2.pdf)
[Bootcamp Introduction to Google Colab Video](https://mediaspace.gatech.edu/media/Bootcamp%20Introduction%20to%20Google%20Colab%2020240826/1_ot2m2czm) (7 minutes) -- [Colab for Bootcamp Presentation Slides](https://github.com/gt-cse-6040/bootcamp/blob/main/presentation_materials/colab_for_bootcamp.pdf)
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
------------------------------------------------------------------------
#### **Session 2 -- Monday August 25 6:30-8:30 PM EDT**
1. Dictionaries Part 1 [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%204/s1nb1intro_dictionaries_1_FA25_v2.ipynb)
2. Dictionaries Part 2 [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%204/s1nb2intro_dictionaries_2_FA25_v2.ipynb)
###### Students wanting practice in working with dictionaries should see the More Python Exercises in Vocareum, in Module 0 Topic 1, Problems 5, 6, and 8.
###### This Codewars problem is a good one for dictionary manipulation. [Data Type Scramble](https://www.codewars.com/kata/5e5acfe31b1c240012717a78)
###### This "w3resource" site contains a number of practice problems in working with dictionaries. The page includes an editor, so that students can work the problems right on the page itself. [w3resources Dictionaries Practice](https://www.w3resource.com/python-exercises/dictionary/)
------------------------------------------------------------------------
#### **Session 3 -- Tuesday August 26 6:30-8:30 PM EDT**
1. List and Dictionary Comprehensions [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%206/s6nb_comprehensions_FA25.ipynb)
###### Students wanting practice in working with comprehensions should see the More Python Exercises in Vocareum, in Module 0 Topic 1, Problems 3 and 9.
------------------------------------------------------------------------
#### **Session 4 -- Wednesday August 27 6:30-8:30 PM EDT**
1. Helper Functions [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%206/m0s6nb02_helper_functions.ipynb)
2. Math is Code with Examples [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%202/MathAsCode_FA25.ipynb)
###### This Codewars collection presents 3 (with a 4th problem in beta testing) problems with good examples of working Math as Code exercises. [Math Challenges](https://www.codewars.com/collections/math-challenges-1)
###### This "w3resource" site provides lots of math as code practice problems. The page includes an editor, so that students can work the problems right on the page itself. [w3resources Math as Code Practice](https://www.w3resource.com/python-exercises/math/index.php)
------------------------------------------------------------------------
#### **Session 5 -- Thursday August 28 6:30-8:30 PM EDT**
1. Discussion and TA Walkthrough of sample exercises, using the Rolling Stone Top 500 Albums data set, Part 1 of 3.
2. The sample exercises consist of 5 notebooks which we will work through over the next two weeks. We encourage students to work through the notebooks on their own, prior to these sessions, and bring their questions to the session.
3. The analysis is adapted from an article written on the site ***pooding.cool***, titled "What Makes an Album the Greatest of All Time".
4. Here is the article: [What Makes an Album the Greatest of All Time](https://pudding.cool/2024/03/greatest-music/)
[Colab Notebook 1 - Introduction to the Problem](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_1.ipynb)
[Colab Notebook 2 Working for Students to Write Code](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_2_working_v2.ipynb)
[Colab Notebook 2 Solution](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_2_solution_v2.ipynb)
------------------------------------------------------------------------
#### **Session 6 -- Tuesday September 2 6:30-8:30 PM EDT** (Monday September 1 is USA holiday)
1. Nested Data [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%206/s6nb1_nested_data_SP25.ipynb)
2. Nested Data examples [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%206/s6nb2_nested_data_exercises_FA25.ipynb)
###### Two Codewars problems that work with nested data in a simple manner are below. They are similar in structure/content, and they provide good straightforward practice in working with nested data.
###### [Sum of Nested List -- Simple](https://www.codewars.com/kata/5a15a4db06d5b6d33c000018)
###### [Sum of Nested List -- Complex](https://www.codewars.com/kata/5845e6a7ae92e294f4000315)
------------------------------------------------------------------------
#### **Session 7 -- Wednesday September 3 6:30-8:30 PM EDT**
1. Lambda Functions [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%207/s7nb1_lambda_functions_SP25.ipynb)
2. Sorting [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%207/s7nb2_sorting_FA25.ipynb)
###### Students wanting practice in working with sorting and lambda functions should see the More Python Exercises in Vocareum, in Module 0 Topic 1, Problem 7.
###### This Codewars problem involves converting a lambda function to a regular function. It is a good exercise for students in ensuring that they understand the syntax and format of lambda functions. [Convert Lambda to Def](https://www.codewars.com/kata/605d25f4f24c030033da9afb)
###### Here is a "w3resource" site with good practice problems for writing lambda functions. The page includes an editor, so that students can work the problems right on the page itself. [w3resources Lambda Function Practice](https://www.w3resource.com/python-exercises/lambda/index.php)
###### The following Codewars problems are all focused on sorting in some way, and they are good practice problems for doing sorting.
###### [Sort Rectangles and Circles by Area](https://www.codewars.com/kata/5a1ebc2480171f29cf0000e5) -- Small bit of Math as Code also in this one.
###### [Sort the Gift Code](https://www.codewars.com/kata/52aeb2f3ad0e952f560005d3) -- String sorting
###### [Sort the Comments](https://www.codewars.com/kata/58a0f18091e53d2ad1000039) -- Sort a list of strings
------------------------------------------------------------------------
#### **Session 8 -- Thursday September 4 6:30-8:30 PM EDT**
1. Zip and Enumerate [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%209/m0s9nb1_zip_enumerate.ipynb)
2. Discussion and TA Walkthrough of sample exercises, using the Rolling Stone Top 500 Albums data set, Part 2 of 3.
[Colab Notebook 1 -- Introduction to the Problem](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_1.ipynb)
[Colab Notebook 3 -- Complex Exploratory Data Analysis Working to Write Code](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_3_working_v2.ipynb)
[Colab Notebook 3 -- Solution](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_3_solution_v2.ipynb)
------------------------------------------------------------------------
#### **Session 9 -- Monday September 8 6:30-8:30 PM EDT**
1. Bootcamp Problem Solving Method
* [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%208/s8nb1_problem_solving_methodology_FA25.ipynb)
* [PDF Explanation of the Method](https://cse6040.gatech.edu/active/img/Bootcamp_Problem_Solving_Method.pdf)
2. Coding exercises to show Problem Solving Method
*(These are examples, and we will cover as much as we can in the two hours, but we may not get to all 4 of them)*
* [Colab Notebook for MPE 6](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/m0s2nb3_MPE6.ipynb)
* [Colab Notebook for MPE 7](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%202/m0s2nb4_MPE7.ipynb)
* [Colab Notebook for MPE 3](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/m0s3nb4_mpe_3.ipynb)
* [Colab Notebook for MPE 9](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%203/m0s3nb5_mpe_9.ipynb)
###### Problems 0 and 10, in the More Python Exercises in Vocareum, in Module 0 Topic 1, provide two good examples of complex problem solving exercises for students.
###### The emphasis in these two notebooks is on constructing the algorithm required. As such, they place a premium on the student's thought process in solving the exercise.
###### The two notebooks are very good ones for students who would like to practice implementing the Bootcamp Problem Solving Method, as taught in this session.
###### One method of solving this Codewars problem involves creating a Helper Function to convert a time (in mm:ss format) to the number of seconds in that time, as students need to compare time lengths. This is a bit of a complex exercise, and we present it here for students to practice a problem that requires a more expansive problem-solving approach. [Radio DJ Helper Function](https://www.codewars.com/kata/561bbcb0fbbfb0f5010000ee)
------------------------------------------------------------------------
#### **Session 10 -- Tuesday September 9 6:30-8:30 PM EDT**
String Manipulation with Regex
* [Colab Notebook for Intro](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%208/m0s3nb1_regex_intro.ipynb)
* [Colab Notebook for Example 1](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%208/m0s3nb2_mpe_21.ipynb)
* [Colab Notebook for Example 2](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%200/Session%208/m0s3nb3_mpe_2_FA25.ipynb)
###### For students wanting some practice writing REGEX, this site presents 20 "challenges" to formulate the correct regex string for the requirement. Test cases are listed, for the student to see which they are passing or failing. [Regex Tuesday Site](https://callumacrae.github.io/regex-tuesday/)
###### This "w3resource" site has a number of excellent REGEX practice problems. The page includes an editor, so that students can work the problems right on the page itself. [w3resources Regex Practice](https://www.w3resource.com/python-exercises/re/index.php)
------------------------------------------------------------------------
#### **Session 11 -- Wednesday September 10 6:30-8:30 PM EDT**
Discussion and TA Walkthrough of sample exercises, using the Rolling Stone Top 500 Albums data set, Part 3 of 3.
[Colab Notebook 1 -- Introduction to the Problem](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_1.ipynb)
[Colab Notebook 4 -- Data Cleaning and Initial Analysis Working to Write Code](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_4_working.ipynb)
[Colab Notebook 4 -- Solution](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_4_solution.ipynb)
[Colab Notebook 5 -- Complex Analysis Working to Write Code](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_5_working.ipynb)
[Colab Notebook 5 -- Solution](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/practice_exercises/music_album_rankings_5.ipynb)
------------------------------------------------------------------------
#### **Session 12 -- Monday September 15 6:30-8:30 PM EDT**
1. MT1 Prep Discussion Introduction -- [PDF Slides](https://cse6040.gatech.edu/active/img/MT1_Prep_Discussion.pdf)
2. TA Walkthrough of Spring 2025 Midterm 1 -- PMT1-SP25
------------------------------------------------------------------------
#### **Session 13 -- Wednesday September 17 6:30-8:30 PM EDT**
1. TA Walkthrough of Fall 2024 Midterm 1 -- PMT1-FA24
2. Exam Prep Q&A Final -- PDF to be posted in the Bootcamp Piazza thread
------------------------------------------------------------------------
#### **Session 14 -- Monday September 22 6:30-8:30 PM EDT**
1. TA Walkthrough of Spring 2024 Midterm 1 -- PMT1-SP24
------------------------------------------------------------------------
#### **Session 15 -- Wednesday September 24 6:30-8:30 PM EDT**
1. TA Walkthrough of Fall 2023 Midterm 1 -- PMT1-FA23
------------------------------------------------------------------------
### **■ Midterm 1 is September 26 - October 1**
------------------------------------------------------------------------
#### **Session 16 -- Thursday October 2 6:30-8:30 PM EDT**
1. Prof Vuduc exam results review
2. TA Walkthrough of exam solution
------------------------------------------------------------------------
## **Sessions to prepare for Midterm 2**
------------------------------------------------------------------------
#### **Session 17 -- Monday October 6 6:30-8:30 PM EDT**
1. Selection on Pandas Data Frames with .loc[] and .iloc[] [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%201/s16nb1_pandas_loc_iloc_SP25.ipynb)
2. Additional Pandas functions: index, concat, merge [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%201/s16nb2_pandas_functions_SP25.ipynb)
------------------------------------------------------------------------
#### **Session 18 -- Tuesday October 7 6:30-8:30 PM EDT**
1. Pandas groupby and aggregation – [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%202/m1s2nb1_pandas_groupby_aggregation_FA25.ipynb)
2. Pandas groupby with apply, summary functions, Boolean Masks [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%202/m1s2nb2_groupby_apply_nlargest_boolean_mask_FA25.ipynb)
###### We encourage students looking to practice working with Pandas to check out this "w3resource" page of Pandas exercises. [w3resources Pandas Exercise Set 1](https://www.w3resource.com/python-exercises/pandas/practice-set1/index.php)
------------------------------------------------------------------------
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
**Student Review Content on SQL-- Watch these three videos on your own -- Will not be covered live in the Bootcamp**
These videos are from the Spring 2025 Midterm 2 Post Exam Review Session, and they show a TA Walkthrough of the exam solution, for the SQL exercises.
The videos are here for two reasons:
First, because they show the paradigm of how SQL exercises are done in this class. Students write the query into a string variable, and the code for connecting to the database and returning the results is provided. The query results are returned in a pandas dataframe, which students use to verify their query and troubleshoot their results. This paradigm is formally introduced in Homework Notebook 9.
And second, because they show a very good methodology for solving SQL exercises in this class.
For students wanting to understand how to approach and solve SQL exercises for the class, these videos show one way to do this, and we recommend that students consider using such an approach.
The videos also show some of the common SQL concepts that are tested on exams.
The HTML file of the TA Solution, to follow along with the video, is in the Attachments tab of each video's page.
[SQL Intro](https://mediaspace.gatech.edu/media/SP_25_MT2_TA_Walkthrough_1_SQL_Intro/1_thmczhig) (3 minutes) -- The video introduces the Helper Functions which are typically included in exams with SQL content. These Helper Functions return the table, column, and foreign key information, for the tables in the exam database.
[Exercises 1-3](https://mediaspace.gatech.edu/media/SP_25_MT2_TA_Walkthrough_2_Ex_1_3/1_verncx07) (23 minutes) -- The video covers Exercises 1-3, which are the 1 and 2 point SQL exercises on the exam. Key concepts in each exercise are as follows:
1. UNION ALL
2. GROUP BY
3. COALESCE, LEFT JOIN, GROUP BY, ORDER BY
[Exercises 4-5](https://mediaspace.gatech.edu/media/SP_25_MT2_TA_Walkthrough_3_Ex_4_5/1_a4lynju3) (28 minutes) -- The video covers Exercises 4 and 5, which are the 3 point SQL exercises on the exam. Key concepts in each exercise are as follows:
4. Subquery, LEFT JOIN, Filter in WHERE clause
5. MAX CASE
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
**Bootcamp SQL Syllabus** [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL1nb0_SQL_syllabus_FA25.ipynb)
###### Students looking for additional SQL practice should check out this "w3resources" page, with a good selection of basic SQLite exercises.[w3resources SQLite Exercises](https://www.w3resource.com/sqlite-exercises/)
------------------------------------------------------------------------
#### **Session 19 -- Wednesday October 8 6:30-8:30 PM EDT**
1. SQL Exam Format [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL1nb1_SQL_exam_format_FA25.ipynb)
2. SQL Database Information Discovery [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL1nb2_SQL_info_discovery_FA25.ipynb)
3. SQL Aggregate Functions [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL1nb3_SQL_aggregate_FA25.ipynb)
4. NULLS in SQL [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL1nb4_SQL_NULLs_FA25.ipynb)
------------------------------------------------------------------------
------------------------------------------------------------------------
#### **Session 20 -- Thursday October 9 6:30-8:30 PM EDT**
1. SQL String Functions [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL2nb0_SQL_string_functions_FA25.ipynb)
2. SQL CASE Function [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL2nb1_SQL_case_functions_FA25.ipynb)
3. Dates in SQLite [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL2nb2_SQL_dates_FA25.ipynb)
4. SQL Example with Strings and CASE [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL2nb3_SQL_string_case_exercise_FA25.ipynb) -- May not be covered live, depending on time.
------------------------------------------------------------------------
------------------------------------------------------------------------
#### **Session 21 -- Monday October 13 6:30-8:30 PM EDT**
1. Intro to Subqueries, Common Table Expressions, and Temp Tables [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL3nb1_SQL_SUBQ_CTE_TT_FA25.ipynb)
2. Subqueries [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL3nb2_SQL_SUBQUERIES_FA25.ipynb)
3. Common Table Expressions -- CTEs [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL3nb3_SQL_CTEs_FA25.ipynb)
4. Temp Tables [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL3nb4_SQL_TempTables_FA25.ipynb)
------------------------------------------------------------------------
------------------------------------------------------------------------
#### **Session 22 -- Tuesday October 14 6:30-8:30 PM EDT**
1. Intro to the University database [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL4nb0_SQL_Intro_to_university_database_FA25.ipynb)
2. Order of Operations, Window Functions (RANK/DENSERANK) [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL4nb1_SQL_OrderOfOps_Window_Functions_Rank_FA25.ipynb)
3. Window Functions (SUM/LEAD/LAG) [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/SQL/syllabus/SQL4nb2_SQL_Window_Functions%20-%20Sum_Lead_Lag_FA25_v2.ipynb)
------------------------------------------------------------------------
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
**Student Review Content on numpy, will not be covered live in the Bootcamp.**
**Notebook to introduce numpy, does not have an accompanying video.**
[Introduction to numpy Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%205/m1s5nb1_intro_to_numpy.ipynb)
[Numpy functions and modules video](https://mediaspace.gatech.edu/media/Numpy%20functions%20and%20modules/1_wlqzu77r) (30 minutes) -- [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%206/m1s6nb2_numpy_additional_functionality.ipynb)
**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\***
------------------------------------------------------------------------
#### **Session 23 -- Wednesday October 15 6:30-8:30 PM EDT**
1. Numpy array shapes [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%2023/s23nb0_intro_to_array_shapes_FA25.ipynb)
2. Numpy Boolean masks [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%2023/s23nb1_numpy_boolean_mask_FA25.ipynb)
3. Numpy Boolean argsort and sort [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%2023/s23nb2_numpy_argsort_sort_FA25.ipynb)
------------------------------------------------------------------------
#### **Session 24 -- Thursday October 16 6:30-8:30 PM EDT**
The content in this session relies heavily on Linear Algebra principles, and we are teaching how Numpy is applying them in code. The lesson is on Numpy's code application of these principles.
For students who are not strong in Linear Algebra, we **HIGHLY RECOMMEND** watching the 3Blue1Brown videos on this topic.
If students have Linear Algebra questions during the session, we are going to refer them to watch the videos. [3Blue1Brown Videos on Linear Algebra](https://www.3blue1brown.com/topics/linear-algebra)
We also recommend that students watch Prof. Vuduc's Supplemental Classroom Video in Topic 11, titled "Supplemental Classroom Video -- Numpy Neural Networks, Linear Algebra", on Canvas and edX. In this video, he has an excellent discussion for students on when to use transformations, matrix multiplication, and other functions in Numpy.
1. Numpy multiply and matrix multiplication, dot product [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%2024/s24nb0_numpy_multiply_dot_matrix_multiplication_FA25.ipynb)
2. Broadcasting [Colab Notebook](https://colab.research.google.com/github/gt-cse-6040/bootcamp/blob/main/Module%201/Session%2024/s24nb1_Broadcasting_FA25.ipynb)
------------------------------------------------------------------------
#### **Session 25 -- Monday October 20 6:30-8:30 PM EDT**
1. TA Walkthrough of Spring 2025 Midterm 2 -- PMT2-SP25
2. MT2 Exam Prep Topics Discussion -- PDF to be posted in the Bootcamp Piazza thread
------------------------------------------------------------------------
#### **Session 26 -- Wednesday October 22 6:30-8:30 PM EDT**
1. TA Walkthrough of Fall 2024 Midterm 2 -- PMT2-FA24
------------------------------------------------------------------------
#### **Session 27 -- Monday October 27 6:30-8:30 PM EDT**
1. TA Walkthrough of Spring 2024 Midterm 2 -- PMT2-SP24
------------------------------------------------------------------------
#### **Session 28 -- Wednesday October 29 6:30-8:30 PM EDT**
1. TA Walkthrough of Fall 2023 Midterm 2 -- PMT2-FA23
------------------------------------------------------------------------
### **■ Midterm 2 is October 31 - November 5**
------------------------------------------------------------------------
#### **Session 29 -- Thursday November 6 6:30-8:30 PM EST**
1. Prof Vuduc exam results review
2. TA Walkthrough of exam solution
------------------------------------------------------------------------
## **Sessions to prepare for the Final Exam**
------------------------------------------------------------------------
#### **Session 30 -- Monday November 10 6:30-8:30 PM EST**
1. CSE6040 In the Real World, Panel discussion with course/program alumni
-- OMSA only, details to be posted on Piazza
------------------------------------------------------------------------
#### **Session 31 -- Monday November 17 6:30-8:30 PM EST**
1. TA Walkthrough of Spring 2025 Final Exam -- PFX-SP25
2. Final Exam Prep Topics Discussion -- PDF to be posted in the Bootcamp Piazza thread
------------------------------------------------------------------------
#### **Session 32 -- Wednesday November 19 6:30-8:30 PM EST**
1. TA Walkthrough of Fall 2024 Final Exam -- PFX-FA24
------------------------------------------------------------------------
### **No Bootcamp Sessions the week of November 24-28, USA Thanksgiving Holiday**
------------------------------------------------------------------------
#### **Session 33 -- Monday December 1 6:30-8:30 PM EST**
1. TA Walkthrough of Spring 2024 Final Exam -- PFX-SP24
------------------------------------------------------------------------
#### **Session 34 -- Wednesday December 3 6:30-8:30 PM EST**
1. TA Walkthrough of Fall 2023 Final Exam -- PFX-FA23
------------------------------------------------------------------------
### **■ Final Exam is December 5 - December 10**
------------------------------------------------------------------------
#### **Session 35 -- Thursday December 11 6:30-8:30 PM EST**
1. Prof Vuduc exam results review
2. TA Walkthrough of exam solution
------------------------------------------------------------------------