Difference between revisions of "CS 1332"

From Georgia Tech Student Wiki
(1morebyte moved page CS 1332 - Data Structures and Algorithms to CS 1332 over redirect: Rename)
Tag: New redirect
(full page overhaul)
Line 1: Line 1:
  +
{{DISPLAYTITLE:CS 1332 - Data Structures and Algorithms for Applications}}
#REDIRECT [[CS 1332]]
 
  +
==Overview==
  +
CS 1332 is a 3 credit-hour CS class with no lab or studio and an optional recitation. Recitation sections are under CS 1332R.
  +
  +
You must register for one of the lecture sections, marked by a single letter (A, B, C, etc.). If you do decide to register for recitation, you must register for a recitation section with the same leading letter (e.g. if you register for lecture section B, you must register for recitation section B01, B02, etc.).
  +
  +
'''Key Registration Footnote:'''
  +
  +
Computer Engineering students must wait 2 weeks before being given access to register for this course (unlike CS, CM students, who can register immediately).
  +
* This is still shorter than the wait period for other majors, which is roughly 4 weeks.
  +
  +
== Class Structure ==
  +
Overall Difficulty Score: 4/5 (Above Average)
  +
  +
Overall Workload Score: 3/5 (Average)
  +
  +
==== Prerequisites ====
  +
The sole prerequisite for CS 1332 is a C or higher in [[CS 1331]].
  +
  +
Due to this prerequisite, CS 1332 expects all students to have a solid grasp of fundamental concepts in the Java programming language, including inheritance, polymorphism, and exception handling.
  +
  +
==== Workload ====
  +
Like most 1000-level CS classes, CS 1332 primarily consists of homework assignments and a set of exams.
  +
  +
Homework assignments generally explore the implementation of a data structure or algorithm from scratch in the Java programming language. Aid is occasionally given through pseudo-code. Average homework length tends to be between 2 and 6 hours, depending on the difficulty.
  +
  +
Exams test knowledge of the theory of the data structure (efficiency, inner workings) as well as usage and implementation through multiple choice, fill-in-the-blank, and code writing questions.
  +
  +
====Topic List====
  +
The major topics covered in the course are as follows:
  +
  +
#Arrays
  +
#ArrayLists and LinkedLists
  +
#Stacks and Queues
  +
#Binary Search Trees
  +
#Heaps
  +
#Self-Balancing Binary Trees (AVLs and 2-4 Trees)
  +
#HashMaps
  +
#Sorting Algorithms
  +
#Pattern Matching Algorithms
  +
#Graphs and Graph Algorithms
  +
#A selection of more advanced algorithms and data structures (varies by semester)
  +
  +
==== Majors ====
  +
Majors that take CS 1332 are listed below:
  +
  +
* Computer Science
  +
* Computer Engineering
  +
* Computational Media
  +
  +
====Future Outlook====
  +
While the topics in CS 1332 are quite useful for technical interviews, many classes don't actually have CS 1332 as a direct prerequisite. The only key classes that use CS 1332 as a prerequisite are [[CS 3510]] (Algorithm Design) and [[CS 3600]] (Intro to AI). Overall, CS 1332 is quite important for the Theory and Intelligence threads, but isn't an important prereq for classes in other threads.
  +
  +
== Resources ==
  +
Dr. HB's Summer 2020 syllabus is linked [https://ctl.gatech.edu/sites/default/files/images/hudachek-buswell_cs1332_syllabus.pdf here]. Note that the class now uses Java 11 instead of Java 8.
  +
  +
{{DEFAULTSORT:CS_1332_-_Data_Structures_and_Algorithms_for_Applications}}

Revision as of 22:28, 7 June 2021

Overview

CS 1332 is a 3 credit-hour CS class with no lab or studio and an optional recitation. Recitation sections are under CS 1332R.

You must register for one of the lecture sections, marked by a single letter (A, B, C, etc.). If you do decide to register for recitation, you must register for a recitation section with the same leading letter (e.g. if you register for lecture section B, you must register for recitation section B01, B02, etc.).

Key Registration Footnote:

Computer Engineering students must wait 2 weeks before being given access to register for this course (unlike CS, CM students, who can register immediately).

  • This is still shorter than the wait period for other majors, which is roughly 4 weeks.

Class Structure

Overall Difficulty Score: 4/5 (Above Average)

Overall Workload Score: 3/5 (Average)

Prerequisites

The sole prerequisite for CS 1332 is a C or higher in CS 1331.

Due to this prerequisite, CS 1332 expects all students to have a solid grasp of fundamental concepts in the Java programming language, including inheritance, polymorphism, and exception handling.

Workload

Like most 1000-level CS classes, CS 1332 primarily consists of homework assignments and a set of exams.

Homework assignments generally explore the implementation of a data structure or algorithm from scratch in the Java programming language. Aid is occasionally given through pseudo-code. Average homework length tends to be between 2 and 6 hours, depending on the difficulty.

Exams test knowledge of the theory of the data structure (efficiency, inner workings) as well as usage and implementation through multiple choice, fill-in-the-blank, and code writing questions.

Topic List

The major topics covered in the course are as follows:

  1. Arrays
  2. ArrayLists and LinkedLists
  3. Stacks and Queues
  4. Binary Search Trees
  5. Heaps
  6. Self-Balancing Binary Trees (AVLs and 2-4 Trees)
  7. HashMaps
  8. Sorting Algorithms
  9. Pattern Matching Algorithms
  10. Graphs and Graph Algorithms
  11. A selection of more advanced algorithms and data structures (varies by semester)

Majors

Majors that take CS 1332 are listed below:

  • Computer Science
  • Computer Engineering
  • Computational Media

Future Outlook

While the topics in CS 1332 are quite useful for technical interviews, many classes don't actually have CS 1332 as a direct prerequisite. The only key classes that use CS 1332 as a prerequisite are CS 3510 (Algorithm Design) and CS 3600 (Intro to AI). Overall, CS 1332 is quite important for the Theory and Intelligence threads, but isn't an important prereq for classes in other threads.

Resources

Dr. HB's Summer 2020 syllabus is linked here. Note that the class now uses Java 11 instead of Java 8.