Data Structures and Algorithms

From RealCTY
Jump to navigation Jump to search
Data Structures and algorithims
Computer Science Course
Course CodeDATA
Year Opened1992
Sites OfferedLAN, BRI
Part of a series on
Realcty logo 20060831.png
CTY Courses
Category · Template · CAA Courses
Baltimore · Carlisle · Lancaster · Los Angeles · Saratoga Springs · Seattle
Logic: PoR
International Politics ·
Ethics · Existentialism
Philosophy of Mind
Cognitive Psychology · Linguistics
Newton, Darwin, and Einstein
The Art and Science of Filmmaking
Beyond the Binary: A Cultural History of Gender
Laws and Orders: Legal Systems Around the World
Writing Your World
Fiction and Poetry
Utopias and Dystopias
Persuasion and Propaganda
The Art of Fiction
Probability and Game Theory
Number Theory · Mathematical Logic
Cryptology · Combinatorics and Graph Theory
Macroeconomics and the Global Economy
Fundamentals of Microeconomics
Computer Science
Data Structures and Algorithms
Fundamentals of Computer Science
FPHS Biology · FPHS Chemistry · FPHS Physics
Paleobiology · Genetics · Neuroscience
Investigations in Engineering
Introduction to Biomedical Sciences · Electrical Engineering
Special Relativity
Princeton & Berkeley
Global Politics: Human Rights and Justice
Human Nature and Technology
Politics and Film · Epidemiology
The Mathematics of Competitive Behavior
Science, Technology and Public Policy
Race and Politics · Politics in the Middle East
The Global Environment
Playing God: The Ethics of Human Subjects Research
You Will Be Offended: Satire, Comedy, and Public Discourse
Defunct Courses
Beginning Ancient Greek · German 1
German 2
Latin 2
French 1 · French 2
Great Revolutions
American History
Modern European History · Eastern European History
Music Theory
History of Western Art
Renaissance Art
Introduction to American Studies: Race and Class
Medieval Art
Twentieth Century Art · Gandhi's India
American Studies: The Sixties · Women and US Social Reform
American Studies: The Harlem Renaissance
Intermediate Ancient Greek
Islam · The Asian Pacific Rim
Russian History
TCE: Literature and the Arts · TCE: Popular Culture
The Crafting of Drama
The Crafting of Poetry · TCE: Shakespeare
TCE: Science Fiction
TCE: Beyond the Ring and the Wardrobe
Advanced Mathematical Modeling
Advanced Mathematical Reasoning
Statistics · Calculus: A Conceptual Approach
Topics in Precalculus
Set Theory · Digital Logic
Theoretical Foundations of Computer Science
Introduction to Laboratory Sciences · Archaeology
Microbiology · Selected Topics in Advanced Biology
Selected Topics in Advanced Chemistry
Selected Topics in Advanced Physics · Physical Anthropology
Advanced Physics: Mechanics
Scientific Investigations: St. Mary's River · Genomics
Etymologies · Oceanography: The Hawaiian Pacific
Life Cycle of an Island: Hawaii
The History of Disease · The Critical Essay: Film
Wicked Art: Pictures, Pixels, and Pens
Latin I
Goodwives and Witches: Women in Colonial America
Freaks and Geeks in Popular Media
The Digital Revolution
Advanced Robotics
Theory of Computation
Individually Paced Mathematics Sequence
Service, Leadership & Community Transformation
Advanced Cryptology
Law and Politics in US History
Intro to Organic Chemistry

Course Description

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.

Course History


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 Eric Fan, Michael Johnston, and Justin Li. nish 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.