Skip to content

rugbyprof/1063-Data-Structures

Repository files navigation

1063 Data Structures

Roster

Class Roster

General Course Info

Topics:

  • Arrays
  • Records/structs (heterogeneous aggregates)
  • Strings and string processing
  • Array based structures vs List based structures
  • Pointers
  • Abstract data types and their implementation using classes:
    • Stacks
    • Queues
    • Priority queues
    • Sets
    • Maps
  • References and aliasing
  • Linked lists
  • Strategies for choosing the appropriate data structure

Learning Outcomes:

  1. Discuss the appropriate use of built-in data structures.
  2. Describe common applications for each of the following data structures: stack, queue, priority queue, set, and map.
  3. Write programs that use each of the following data structures: arrays, records/structs, strings, linked lists, stacks, queues, sets, and maps.
  4. Compare alternative implementations of data structures with respect to performance.
  5. Describe how references allow for objects to be accessed in multiple ways.
  6. Compare and contrast the costs and benefits of dynamic and static data structure implementations.
  7. Choose the appropriate data structure for modeling a given problem.

Grading:

Categories Grade
Exams (3)1 35% A 89-100
Programs (5-8)2 15% B 79-88
Homework/Quizzes3 20% C 69-78
Final4 20% D 59-68
Github Portfolio 10% F below 59

1. Lowest exam grade replaced by Final Exam grade (Not a "right" but a privilege based on effort and attendance).

2. Despite the low overall value of the programming portion of the course, ALL programs must be turned in running to pass the course. They don't have to be necessarily correct, but they must run and they need to at least approach the solution (a "Hello World" program will not work).

3. The worth of the "homework/quizzes" section of the course will be calculated by a function based on the number of assignments and quizzes. If zero homeworks / quizzes are assigned then they will be assigned a 0% portion. If at least 10 are assigned then the full 20% will be assigned as its weight. If the full weight is not used the class will decide how the remaining percentage points will be assigned.

4. Plane ticket prices, events like weddings, or trips out of the country are not valid excuses for missing the final exam at its scheduled time. I will not make accommodations for anything other than an issue vetted by the dean of students.

Misc:

  • https://repl.it

  • https://code.visualstudio.com/download

  • Attending class is one of the primary keys to doing well in this class. Students may be dropped for excessive absences. There is no distinction made between excused and unexcused.

  • Make-up exams are not given. If I see fit, then I will replace a missed exam with your final exam test grade. If you do miss an exam without prior approval, a letter from the dean of students will be needed as an excuse.

  • A number of programming assignments will be made to code and execute. Microsoft Visual Studio 2013 or 2015 is recommended, although depending on class opinion, we may use QT4 for some assignments.

  • Programs containing syntax errors are unacceptable and will be returned without grading (your programs must work). All submitted programs need to be submitted via Github.

  • Periodically homework assignments will be taken up and graded. It is the student's responsibility to keep up with assignments and to ask questions over the assigned work, even if absent. All homework assignments are due at the specified time that may or may not be in conjunction with a class day. All assignments / homeworks will be uploaded via Github.