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.