MIDS 1B. Fundamentals of Data Structures and Algorithms
Description
This course is designed to equip students with the basic computer science knowledge needed for the Master of Information and Data Science (MIDS) program. It briefly covers programming techniques and algorithm development, then surveys core data structures used in computer science, and finally ends with a selection of special topics relevant to data science.
This is one of two self-paced “bridge” courses that students may take to supplement their technical preparation in the early stages of the MIDS curriculum. A companion course, Fundamentals of Linear Algebra, covers mathematical prerequisites that will appear in later courses, including Machine Learning and advanced electives.
Course Format
The course is divided into eight units, which are self-paced. Students can complete the material in any amount of time. Each unit has approximately 90 minutes of asynchronous material and the course does not include live discussion sections.
Students will complete seven programming assignments during the course. There will also be a conceptual midterm and final exam. A tutor/grader will be available to assist students with assignments, respond to questions, and provide feedback on exams.
Text
The course largely follows the following textbook, which is strongly recommended. The book contains more information than the lectures and serves as a valuable reference for most course topics.
Data Structures and Algorithms in Python
Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser
Wiley: March 2013
Prerequisites
A previous course in Python programming. Students who have programmed in another high-level language may still take this course, although they may need to supplement the first portion of the course with extra reading. The textbook provides a good Python primer in the first chapter.