{"id":22246607,"url":"https://github.com/el634dev/acs-1120-intro-data-structures","last_synced_at":"2025-10-31T05:37:18.710Z","repository":{"id":218608952,"uuid":"746879524","full_name":"el634dev/ACS-1120-Intro-Data-Structures","owner":"el634dev","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-17T02:20:20.000Z","size":18085,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T10:30:30.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/el634dev.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-22T21:14:07.000Z","updated_at":"2024-01-22T21:27:55.000Z","dependencies_parsed_at":"2024-04-17T03:41:53.240Z","dependency_job_id":null,"html_url":"https://github.com/el634dev/ACS-1120-Intro-Data-Structures","commit_stats":null,"previous_names":["el634dev/acs-1120-intro-data-structures"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/el634dev%2FACS-1120-Intro-Data-Structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/el634dev%2FACS-1120-Intro-Data-Structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/el634dev%2FACS-1120-Intro-Data-Structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/el634dev%2FACS-1120-Intro-Data-Structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/el634dev","download_url":"https://codeload.github.com/el634dev/ACS-1120-Intro-Data-Structures/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245451272,"owners_count":20617485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T05:28:20.930Z","updated_at":"2025-10-31T05:37:18.621Z","avatar_url":"https://github.com/el634dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ACS 1120: Intro to Data Structures\n\n## Course Description\n\nA project based course that looks under the hood at data structures and algorithms to see how they work. In addition to implementing these structures in an application; students will build them from scratch, analyze their complexity, and benchmark their performance to gain an understanding of their tradeoffs and when to use them in practice. Students will write scripts, functions, and library modules to use text processing tools like regular expressions, construct and sample probability distributions to create a Markov language model and gain insight into how grammar works and natural language processing techniques.\n\n## Repository Setup\n\n:warning: **Important:** Please follow [these instructions](Setup.md) exactly to set up your clone of this course repository.\n\n## Learning Objectives\n\nBy the end of this course, students will be able to:\n\n1. Create Python programs that read and write text files and manipulate strings\n2. Build web apps with the Flask framework and deploy to the web\n3. Construct and sample probability distributions based on observed word frequencies\n4. Create Markov language models and use them to generate new sentences\n5. Use unit tests that assert correct behavior of functions and classes\n6. Implement core data structures including singly linked lists and hash tables\n7. Analyze the complexity of iterative algorithms and data structures with visual loop counting\n\n## Schedule\n\n**Course Dates:** Wednesday, January 20 – Friday, March 11, 2022\u003cbr\u003e\n**Class Times:** Monday, Wednesday, \u0026 Friday at 4:30-6:20pm PST\n\nDay | Lesson Topics\n:-: | :------------------------------------------\n01  | [Strings \u0026 Random Numbers]\n02  | [Histogram Data Structures]\n03  | [Probability \u0026 Sampling]\n04  | [Flask Web App Development]\n05  | [Application Architecture]\n06  | [Generating Sentences]\n07  | [Arrays \u0026 Linked Lists]\n08  | [Algorithm Analysis]\n09  | [Hash Tables]\n10  | Hash Table [Algorithm Analysis]\n11  | [Higher Order Markov Chains][final project]\n12  | [Regular Expressions]\n13  | Lab Day\n14  | Launch Day: Show \u0026 Tell\n\n\u003c!--\n\n## Deliverable Schedule\n\nDeliverable                                       | Date Started |   Date Due    | Submission Form\n:------------------------------------------------ | :----------: | :-----------: | :--------------------------------------------------------------------------------------\n**[Project Check-In][flask web app development]** | Wed, Jan 19  |  Sun, Feb 6   | [Submit Project Check-In](https://www.gradescope.com/courses/76047/assignments/1826588)\n**[Linked List Challenges]**                      |  Mon, Feb 7  |  Sun, Feb 13  | [Submit Linked List](https://www.gradescope.com/courses/76047/assignments/1829207)\n**[Hash Table Challenges]**                       | Mon, Feb 14  |  Sun, Feb 20  | [Submit Hash Table](https://www.gradescope.com/courses/76047/assignments/1829208)\n**[Final Project]**                               | Mon, Feb 21  | Fri, March 11 | [Submit Final Project](https://www.gradescope.com/courses/76047/assignments/1826588)\n--\u003e\n\n\n## Project Tutorial\n\nStudents will complete the following guided project tutorial in this course:\n\n- [**Tweet Generator:** Data Structures \u0026 Probability with Python](https://bit.ly/tutorial-tweet-generator)\n\n## Evaluation\n\nTo pass this course, students must meet the following requirements:\n\n- Actively participate in class and abide by the attendance policy\n- Make up all classwork from all absences\n- Complete the required [project tutorial](#project-tutorial)\n- Turn in all deliverables on Gradescope\n\n[algorithm analysis]: Lessons/AlgorithmAnalysis.md\n[application architecture]: Lessons/Architecture.md\n[arrays \u0026 linked lists]: Lessons/ArraysLinkedLists.md\n[due]: ReadMe.md#Deliverable-Schedule\n[final project]: Lessons/MarkovChains.md\n[flask web app development]: Lessons/FlaskWebApp.md\n[generating sentences]: Lessons/Sentences.md\n[hash table challenges]: Lessons/HashTables.md#Challenges\n[hash tables]: Lessons/HashTables.md\n[higher order markov chains]: Lessons/MarkovChains.md\n[histogram data structures]: Lessons/Histograms.md\n[linked list challenges]: Lessons/ArraysLinkedLists.md#Challenges\n[probability \u0026 sampling]: Lessons/Probability.md\n[project check-in]: Lessons/FlaskWebApp.md\n[quiz]: StudyGuides.md\n[quiz study guides]: StudyGuides.md\n[regular expressions]: Lessons/RegularExpressions.md\n[strings \u0026 random numbers]: Lessons/RandomStrings.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fel634dev%2Facs-1120-intro-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fel634dev%2Facs-1120-intro-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fel634dev%2Facs-1120-intro-data-structures/lists"}