/Independent-Study-2016-2017

The computer science/technology independent study completed during my sophomore year at Lake City High School, concerning "Data Structures and Algorithms" using Python.

Primary LanguagePythonOtherNOASSERTION

Independent-Study-2016-2017

The computer science/technology independent study done during my sophomore year at Lake City High School, concerning "Data Structures and Algorithms." Specifically, this is a semester-long student-led study over the formats and methods computers use to store/organize data. This allows computers to access different types of information, stored different ways which correspond to the data's purpose. This I.S. utilizes the programming language Python to exemplify concepts through data implementation. Learning and progress is demonstrated in the forms of assignments, note taking, and projects.

Curriculum

The 18 week semester is divided into three 6 week long terms/units: Exploration into Data Structures and Algorithms, Computational Complexity (‘Big O’ Analysis), and a final Synthesis Project which is a demonstration of good data structure and algorithm use designed by the student. Progress -- overall, per term, and per week-- is recorded in Google Drive, to be uploaded at a later date. Summarized versions of study progress can also be found in the "Curriculum and Journals" section of this repository.

Resources

The curriculum consists of an amalgamation of many resources: "Problem Solving with Algorithms and Data Structures using Python" (https://interactivepython.org/runestone/static/pythonds/index.html), segments from online tutorials such as https://hackr.io/tutorials/learn-data-structures-algorithms, https://www.tutorialspoint.com/data_structures_algorithms/index.htm, and http://www.algolist.net, and additional information and assistance from mentors including Casey Falk, software developer at Amazon and main developer of curriculum (e.g. assignments, feedback), and Bill Keylon, LCHS computer science teacher and study supervisor.

Quizlet

The four Quizlet review sets I created, located in the "Quizlet Sets" folder, cover a majority of the concepts and terms studied over the course of the semester, ranging from data types to algorithms to CS fundamentals to real world software/networking applications of data structures and algorithms.

Synthesis Project

The "synthesis project" is a 6 week open ended project with the intention of demostrating techniques studied in class to serve a desired purpose. Concepts such as abstraction, data structures (implementations of abstract/primitive data types), OOP, algorithm development, and other python programming essentials are concentrated into a single too. The synthesis project is a Dungeons and Dragons data storage and manipulation tool, in which a user can create players, maps, and quests and then store data about individual objects (e.g. name, the nodes {villages} and connecting nodes of a map, the name of a specific quest) and also maintain a structure in how that data relates to other data (e.g. party size and collective information, all maps in use whether locked/unloacked, a binary tree structure of quests in a campaign so you must fufill one then choose from 2 options in a CYOA ordered quest). ASCII images are used as graphics and the user interface is text based, heavily depending on INPUT/OUTPUT of data and emulating conversational commands (e.g. "help()", "What is the player's name? __", "Would you like to add an item to [name]'s inventory?", etc).