Skip to content

Commit

Permalink
more posts
Browse files Browse the repository at this point in the history
  • Loading branch information
itatikola committed May 16, 2024
1 parent 0e5f52a commit e775c59
Show file tree
Hide file tree
Showing 13 changed files with 232 additions and 19 deletions.
Binary file modified .DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ layout: post
title: "Project #2: Recitation Slides"
excerpt_separator: <!--more-->
---
&nbsp;&nbsp;&nbsp;&nbsp; One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections. <!--more--> This course is the largest course offered at Georgia Tech, and it runs heavily on the 50-60 TAs who work very hard to provide top-notch resources for students to understand important CS fundamentals. Our team has created csvistool.com, endless exam preparation material, and sometimes students even fill in for our professors as lecturers! It's an inspiring group to be a part of, and so I was inspired to contribute something as well.
&nbsp;&nbsp;&nbsp;&nbsp; One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections. <!--more--> This course is the largest course offered at Georgia Tech, and it runs heavily on the 50-60 TAs who work very hard to provide top-notch resources for students. Our team has created csvistool.com and endless exam preparation material. It's an inspiring group to be a part of, and so I was motivated to contribute something as well.

&nbsp;&nbsp;&nbsp;&nbsp; For years, the TAs have wondered why our course specifically has poor recitation enthusiasm among students. Many of our sections getting cancelled or merged as the semester progresses because of low attendance, and this doesn't seem to happen as often in other courses. I noticed that our recitations (a weekly, TA-led recap class of 20-30 students) lacked uniformity and quality assurance. In other courses, sometimes a lot of my learning comes from the lab or studio associated with the course, led by TAs. Specifically, the slides are incredibly helpful as students are really good at simplifying content for their peers. I wanted to create the same system for our course.
&nbsp;&nbsp;&nbsp;&nbsp; For years, the TAs have wondered why our course specifically has poor recitation enthusiasm among students. Many of our sections are cancelled or merged as the semester progresses because of low attendance, and this doesn't seem to happen as often in other courses. I noticed that our recitations lacked uniformity and quality assurance. In other courses, I've found a lot of my learning comes from the lab or studio associated with the course, led by TAs. Specifically, the slides are incredibly helpful as students are really good at simplifying content for their peers. I wanted to create the same system for our course.

&nbsp;&nbsp;&nbsp;&nbsp; This semester, I set out to create a comprehensive set of slides for each week's recitation. Every slide covers two or three major concepts in our class (either a data structure or an algorithm) and uses the same format to explain each one. In the case of data structures, I try to first introduce the ADT the structure will implement, the motivation for why we would use this structure, and then the inner workings of three major operations: search, add, and remove. For algorithms, I first explain the problem goal or purpose of an algorithm, do a pseudocode analysis, and then perform a large diagramming example. After this, we talk about time complexity. Finally, the slides end with a couple coding questions for students to try on their own.

&nbsp;&nbsp;&nbsp;&nbsp; These slides are made with the idea that students may reference them later without the help of a TA. Therefore, explanations and all the content must be present on the slides, but in a non-overwhelming and aesthetically pleasing (though this is just my preference) way. I think the common explanation structure helps organize the overwhelming amount of content for students so they "know what they have to know." In addition, I've peppered in prompting questions throughout the slides to increase interactivity.

&nbsp;&nbsp;&nbsp;&nbsp; In the spirit of open source, these slides are available on my public GitHub for computer science students anywhere to benefit from. Please reach out if you see errors! If they help even one person out there score an extra point on their exam, my time was well spent :).
&nbsp;&nbsp;&nbsp;&nbsp; The final collection is available on my public GitHub for computer science students anywhere to benefit from. Please reach out if you see errors! If they help even one person out there score an extra point on their exam, my time was well-spent :).
13 changes: 13 additions & 0 deletions _posts/2024-2-15-Project-#3-CodeGradr copy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
layout: post
title: "Project #3: CodeGradr"
excerpt_separator: <!--more-->
---
&nbsp;&nbsp;&nbsp;&nbsp; This year, I accomplished the major milestone of actually getting a project out of a Hackathon and not giving up after the free Moe's on night two. At Hacklytics 2024, my team and I created CodeGradr - a web application using generative AI to provide feedback for routine, structured coding assignments. <!--more--> As a TA, spending four to five hours a week grading coding assignments that often have the same handful of bugs between them was becoming unbearable. However, for a student, it is really important to receive feedback and a thorough explanation of where you went wrong. Generative AI is the perfect outlet for automating this simple tasks that require mere pattern recognition.

&nbsp;&nbsp;&nbsp;&nbsp; The way CodeGradr works is you upload the files containing 1) your test cases (e.g. JUnits) or even just a rubric for the assignment, and 2) the correct implementation. Then, click the "Generate Feedback" button where you will copy and paste a student's code and receive a Chat-GPT generated response. The framework comes from the fact that in large classes, every student is being judged on the same criteria. So you do the hard part of uploading your correct work first, then you can easily copy and paste student code as you go through each assignment. Chat-GPT is prompted to analyze the test cases or rubric portions the student has failed and compare against the correct implementation to provide a succinct explanation of what their mistakes were.


&nbsp;&nbsp;&nbsp;&nbsp; We used an AWS EC2 instance to host the website and Flask as the web framework. Experimenting with the OpenAI API was definitely a treat! Unfortunately, we had the very bad luck of the API being down the weekend of the hackathon, so we were unable to finish and submit by the time projects were due. However, since we were excited about the project we quickly worked to finish the app as soon as it was up and running again. This was my first time developing an application entirely in Python, and I really enjoyed it. Finally, I created the entire user interface with simple CSS/HTML, and I think you'll find I have a very distinct style!

&nbsp;&nbsp;&nbsp;&nbsp; Though we weren't able to submit, I still had a great time at Hacklytics and it definitely motivated me to create more small, but useful projects like Codegradr.
16 changes: 16 additions & 0 deletions _posts/2024-4-15-Project-#4-SpotifyWrapped.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
layout: post
title: "Project #4: Spotify Wrapped"
excerpt_separator: <!--more-->
---
&nbsp;&nbsp;&nbsp;&nbsp; In my Objects & Design course this semester, we were challenged with creating a mimic Spotify Wrapped application. Our team of seven spent 2 months following an Agile Scrum to build this application on Android Studio. <!--more--> If I'm being honest, when I heard about this assignment I was a bit scared. It was definitely the largest group and longest-term project I had ever worked on. Knowing that there had to be timely deliverables and that all of our individual components relied on each other was daunting, especially when working with strangers. However, this experience was extremely rewarding and I am truly proud of the final product.

&nbsp;&nbsp;&nbsp;&nbsp; When you enter the application, you are prompted to log in. Our app uses Firebase to host a database of user account information. You can create a new account, delete that account, and go to your profile to view your past wrapped summaries. Once you've logged in to our app, you'll be redirected to log in to Spotify itself. From there, we get an access token to your account that we can use as our Spotify API key.

&nbsp;&nbsp;&nbsp;&nbsp; Once you've logged in, you can begin viewing your wrapped summaries. All information is taken from a short term, recent time period. Your wrapped summaries from today may be much different from what they are next week. The first page is a summary of your top playlists, the second is of your top genres, and the final is of your top songs and artists. The final screen displays a succinct graphic encompassing all of this information which you can download to your device.

&nbsp;&nbsp;&nbsp;&nbsp; You'll notice that you are prompted to play a game. The game we created is a word search made of songs from the playlist of your choosing. You can even choose a difficulty level on a scale of 1 to 3!

&nbsp;&nbsp;&nbsp;&nbsp; Building this entire application in Java on Android Studio was incredibly annoying, but me and the two other developers on my team rose to the challenge. Since running your app on Android Studio is incredibly time consuming and battery expensive, I learned a lot about making small, but significant changes to code. In general, I think my test and debug skills grew incredibly. Some aspects of our code that I'm proud of is the API Helper we created to easily extract information from the Spotify API and return it in a usable manner. This modularity allowed other members of the team who weren't familiar with using APIs to still contribute to the code and make a substantial impact. In the same vein, I learned how to handle merge conflicts on Git and I will never start working on a collaborative project without pulling from the remote repo ever again.

&nbsp;&nbsp;&nbsp;&nbsp; Finally, one aspect of this project I enjoyed was the creativity I got to express on the design front. It's got a little of my signature rounded buttons and such, but I did try to mimic the actual bold colors and fonts of the 2023 Spotify Wrapped and I think I was pretty successful! The project is up on my GitHub and I encourage anyone to take a look at the demo. Feel free to use our API Helper for your own applications, too.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
<meta property="og:locale" content="en_US" />
<meta name="description" content="     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections." />
<meta property="og:description" content="     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections." />
<link rel="canonical" href="http://localhost:4000/2024/01/15/Project-2-Recitation-Slides.html" />
<meta property="og:url" content="http://localhost:4000/2024/01/15/Project-2-Recitation-Slides.html" />
<link rel="canonical" href="http://localhost:4000/2024/01/15/Project-2-Recitation-Slides-copy.html" />
<meta property="og:url" content="http://localhost:4000/2024/01/15/Project-2-Recitation-Slides-copy.html" />
<meta property="og:site_name" content="Indira Tatikola" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-01-15T00:00:00-05:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Project #2: Recitation Slides" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-01-15T00:00:00-05:00","datePublished":"2024-01-15T00:00:00-05:00","description":"     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections.","headline":"Project #2: Recitation Slides","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/2024/01/15/Project-2-Recitation-Slides.html"},"url":"http://localhost:4000/2024/01/15/Project-2-Recitation-Slides.html"}</script>
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-01-15T00:00:00-05:00","datePublished":"2024-01-15T00:00:00-05:00","description":"     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections.","headline":"Project #2: Recitation Slides","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/2024/01/15/Project-2-Recitation-Slides-copy.html"},"url":"http://localhost:4000/2024/01/15/Project-2-Recitation-Slides-copy.html"}</script>
<!-- End Jekyll SEO tag -->
<link rel="stylesheet" href="/assets/css/styles.css">
<script src="https://kit.fontawesome.com/6a36c605f0.js" crossorigin="anonymous"></script><link type="application/atom+xml" rel="alternate" href="http://localhost:4000/feed.xml" title="Indira Tatikola" /></head>
Expand Down Expand Up @@ -48,15 +48,15 @@
<div class="post-bubble">
<h1>Project #2: Recitation Slides</h1>
<p style="color:grey;">Jan 15th, 2024</p>
<p>     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections. <!--more--> This course is the largest course offered at Georgia Tech, and it runs heavily on the 50-60 TAs who work very hard to provide top-notch resources for students to understand important CS fundamentals. Our team has created csvistool.com, endless exam preparation material, and sometimes students even fill in for our professors as lecturers! It’s an inspiring group to be a part of, and so I was inspired to contribute something as well.</p>
<p>     One of my favorite experiences in college so far has been being a teaching assistant for the data structures and algorithms course at my school. This past semester, I spent many hours making 15 comprehensive slide decks for our weekly, TA-led recitation sections. <!--more--> This course is the largest course offered at Georgia Tech, and it runs heavily on the 50-60 TAs who work very hard to provide top-notch resources for students. Our team has created csvistool.com and endless exam preparation material. It’s an inspiring group to be a part of, and so I was motivated to contribute something as well.</p>

<p>     For years, the TAs have wondered why our course specifically has poor recitation enthusiasm among students. Many of our sections getting cancelled or merged as the semester progresses because of low attendance, and this doesn’t seem to happen as often in other courses. I noticed that our recitations (a weekly, TA-led recap class of 20-30 students) lacked uniformity and quality assurance. In other courses, sometimes a lot of my learning comes from the lab or studio associated with the course, led by TAs. Specifically, the slides are incredibly helpful as students are really good at simplifying content for their peers. I wanted to create the same system for our course.</p>
<p>     For years, the TAs have wondered why our course specifically has poor recitation enthusiasm among students. Many of our sections are cancelled or merged as the semester progresses because of low attendance, and this doesn’t seem to happen as often in other courses. I noticed that our recitations lacked uniformity and quality assurance. In other courses, I’ve found a lot of my learning comes from the lab or studio associated with the course, led by TAs. Specifically, the slides are incredibly helpful as students are really good at simplifying content for their peers. I wanted to create the same system for our course.</p>

<p>     This semester, I set out to create a comprehensive set of slides for each week’s recitation. Every slide covers two or three major concepts in our class (either a data structure or an algorithm) and uses the same format to explain each one. In the case of data structures, I try to first introduce the ADT the structure will implement, the motivation for why we would use this structure, and then the inner workings of three major operations: search, add, and remove. For algorithms, I first explain the problem goal or purpose of an algorithm, do a pseudocode analysis, and then perform a large diagramming example. After this, we talk about time complexity. Finally, the slides end with a couple coding questions for students to try on their own.</p>

<p>     These slides are made with the idea that students may reference them later without the help of a TA. Therefore, explanations and all the content must be present on the slides, but in a non-overwhelming and aesthetically pleasing (though this is just my preference) way. I think the common explanation structure helps organize the overwhelming amount of content for students so they “know what they have to know.” In addition, I’ve peppered in prompting questions throughout the slides to increase interactivity.</p>

<p>     In the spirit of open source, these slides are available on my public GitHub for computer science students anywhere to benefit from. Please reach out if you see errors! If they help even one person out there score an extra point on their exam, my time was well spent :).</p>
<p>     The final collection is available on my public GitHub for computer science students anywhere to benefit from. Please reach out if you see errors! If they help even one person out there score an extra point on their exam, my time was well-spent :).</p>

</div>
</main>
Expand Down
Loading

0 comments on commit e775c59

Please sign in to comment.