Data Structures and Algorithms
|Computer Science Course|
|Sites Offered||LAN, BRI|
DATA focuses on different ways of storing and retrieving information on a computer.
From the CTY Catalog: We know that computers are great problem solvers, but there is human work that must be done before computers can work their magic: first, it is necessary to formalize the problem within a mathematical model, find an algorithm to solve the problem in that model, and implement the algorithm in a particular programming language. This course teaches you how to do behind-the-scenes work like designing, analyzing, and implementing algorithms within a programming language. You’ll study data structures such as arrays, lists, stacks, queues, trees, and sets to learn different ways of organizing data. You’ll analyze sorting, searching, and graphing algorithms to determine their runtime efficiency. By examining these fundamental algorithms, you and your classmates will learn how design decisions can affect their efficiency and scalability. A series of programming assignments will help you learn how to put these abstract ideas into practice. By the end of this course, you will have the conceptual tools necessary to model and analyze various types of 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.
The 2023.2 Data Structures and Algorithms featured Mr. Sea, who was a medical wonder, he often talked about his monocular vision and how he had to get many surgeries. Our TA, David was a basketball legend in the CBA(Chinese Basketball Association). Breaks and quad time were usually spent playing basketball, eggball (basically a combination of a two-square and volleyball originally played with an egg-shaped ball), or mobile games. During basketball, David would often make 20-30 shots from half-court. He often played the best player in the class, Joseph Ruth (Who is going D1 to Duke) in a 1 v 1 and it would be a crazy match. David would usually break Joe's ankles and drain a three in his face. David could also bench 330 and he often lifted things no one else in the class could lift. David was also an academic scholar and went to Tufts University. He would always help with coding and made sure everyone knew the topic. Students in the class include Ettan Vaid, Eric Fan, Michael Johnston, and Justin Li. Ettan would always finish the assignments in a class. Eric was not as fast at coding but he was very fast at eating. Every meal, Eric would gobble up 3 to 4 plates of food. One student that Mr. Sea hated was Grant. Grant would always either be sleeping during class or be playing Bloons Tower Defense 6 on his phone. The only reason he was doing okay in the class is that he would copy Mateo (A good student who was also king of our hall) 's work on every assignment. The session was supposed to end with an AI checkers tournament but there wasn't enough time for everybody to finish their AIs, so we did a human checkers tournament instead. Unfortunately, since humans are slow, the tournament never finished and we'll never know who won.