Data Structures and Algorithms
|Computer Science Course|
|Sites Offered||LAN, LOS|
DATA focuses on different ways of storing and retrieving information on a computer.
From the CTY Course Catalog (2017):
In order for a computer to find a solution to a particular problem, it is necessary to formalize the problem in terms of a mathematical model, find a suitable algorithm to solve the problem in that model, and then implement the algorithm in a particular programming language. In this class, students learn how to design, analyze, and implement these algorithms.
Students begin by studying data structures such as arrays, lists, stacks, queues, trees, and sets in order to learn different ways of organizing data. Students then analyze many sorting, searching, and graphing algorithms to determine their run-time efficiency. By examining these fundamental algorithms, students learn how design decisions can affect the efficiency and scalability of an algorithm. A series of programming assignments helps students learn how to put these abstract ideas into practice. By the end of this course, students acquire the conceptual tools necessary to model and analyze computational problems.
DATA was first offered in 1992, when it boasted a grand total of seven students (six of them nomores) who spent the whole session in the Martin Library basement using the terrifically powerful MicroVax 3000 minicomputer trying to get a simple heap-based priority queue working. Or, just as often, being locked out of the basement lab (the librarians having never been told that a course was using it) and playing whist for hours on end. The textbooks were Aho-Hopcroft-Ullman and Cormen-Leiserson-Rivest, two books guaranteed to be of lifelong value to the budding CS student, or to anyone requiring a heavy blunt instrument for bludgeoning.
In 2014 the instructor was Jon, who had been teaching the class since 2011, and the TA was known as Wizard. The class spent a good deal of its time dealing with sorting algorithms, which were often demonstrated to the class through a program known as 'The Sound of Sorting' or 'the demon music'. While first exposure to the demon music led to shock, horror, and the covering of ears, in the end it was rather well liked and students begged to hear various sorts with strange names. Sorts and searches were also performed with the students themselves using class count-off numbers or names; this yielded many duck quacks and the occasional moo. Jon was esteemed among the returners in the class for his love of tradition, such his dedication to Dr. Mario, teaching it to the class and leading it during the dance even when the wrong version of Dr. Mario was played. At the end of session, a frog was added to Wizard's hat in honor of the frogorithm frogsort. ("Frog you!") It originated frog one of the many hilarious study hall worksheets which caused a linguistic revolution; this being attempting to confrog Diana upon her return frog quarantine the next morning. It kind of worked.
In 2017 the instructor was Dr. Lamprecht and the TA was Chris. Members of this class included Hudson Jakubowicz and Stephen Campbell. The class included different topics such as sorting algorithms and data structures. Many recurring jokes were exchanged in this class. These included:
- BogoSort - A sorting algorithm that sort a data set randomly until it is in order
- Assumption Sort - A sorting algorithm that assumes the data set is already sorted
- Segmentation Faults - Where a program tries to access something restricted and returns an error message. These almost always arose from the copy-paste programs that we were assigned to work on.
- Core Dumps - Where a program crashes, and loses all information about the current state of the program. This inspired chants and complaints during and outside class.
- Menus - Almost all assignments related to programming were to add menus to already completed programs.
Many of our breaks were spent playing mafia and/or Frisbee.
In 2018.1 the instructor was Dr. Lamprecht and the TA was Clara. The class included different topics such as sorting algorithms and data structures. Many recurring jokes were exchanged in this class. These included: The word "Clown", and the many attempts of DDOSing a classmate's website, and of course, playing fortnite. This class was taught in the Liberal Arts building. It also caused the class to be late to almost every meal and returning to the quad, as the classroom clock was 5 minutes behind. The desks are tiny in the classroom, and 15 inch laptops don't help you have any more space on them.
In 2019 the instructor was Dr. L and the TA was Clara. The class covered algorithms and data structures in JAVA. There were 18 students in total with 4 being female and 14 being male. Break time was spent playing either frisbee (which soon died out), four square, four square with only feet, or four square with a tennis ball. Some jokes that were created during the span of this course are: "Aren't we supposed to be the nerdiest class?", Dr. L's personal least favorite "Bruh", and the most infamous, "Rip Hayden, Andrew, and Barney." (There was a small prayer said on Hartment Green to commemorate our lost soldiers on the last day) Some highlights included the expulsion of 2 students from the class, the infamous plague of 19.1, BogoSort, Barney and his sons, the memes during the last presentations that caused no one to actually understand what they were supposed to talk about because everyone was too busy making CS memes, Minecraft, 68 + 1, nonexistent break time, Flavien's roasts, Alex getting everyone sick and not admitting it, and of course the fact that most of the class had to teach themselves JAVA while coding because, for the most part, everyone knew other programming languages and not JAVA. Most of the girls were also much closer to the topology class due to the fact most of their other female hallmates were there. Overall this is probably the most hated class that Dr. L and Clara ever had.