Course Number
605.620
Next Offered
Fall 2024
Primary Program
Location
Online
Course Format
Asynchronous Online

This follow-on course to data structures (e.g., EN.605.202 Data Structures) provides a survey of computer algorithms, examines fundamental techniques in algorithm design and analysis, and develops problem-solving skills required in all programs of study involving computer science. Topics include advanced data structures (red-black and 2-3-4 trees, union-find), recursion and mathematical induction, algorithm analysis and computational complexity (recurrence relations, big-O notation, introduction to NP-completeness), sorting and searching, design paradigms (divide and conquer, greedy heuristic, dynamic programming), and graph algorithms (depth-first and breadth-first search, minimum spanning trees). Advanced topics are selected from among the following: multithreaded algorithms, matrix operations, linear programming, string matching, computational geometry, and approximation algorithms. Students will form groups to work on difficult problems and also to present an advanced topic at the end of the term. The course will draw on applications from Bioinformatics. Prerequisite(s): EN.605.202 Data Structures or equivalent, and EN.605.201 Introduction to Programming Using Java or EN.605.206 Introduction to Programming in Python or equivalent. EN.605.203 Discrete Mathematics or equivalent is recommended. Course Note(s): This course does not satisfy the foundation course requirement for Computer Science, Data Science, or Cybersecurity. Students can only earn credit for one of EN.605.620, EN.605.621, EN.685.621 or EN.705.621

Course Offerings

Waitlist Only

Algorithms for Bioinformatics

605.620.81
08/26/2024 - 12/10/2024
Semester
Fall 2024
Course Format
Asynchronous Online
Location
Online
Cost
$5,270.00
Course Materials
Open

Algorithms for Bioinformatics

605.620.82
08/26/2024 - 12/10/2024
Semester
Fall 2024
Course Format
Asynchronous Online
Location
Online
Cost
$5,270.00
Course Materials