Semester.ly

Johns Hopkins University | EN.600.463

Algorithms I

3.0

credits

Average Course Rating

(4.37)

This course concentrates on the design of algorithms and the rigorous analysis of their efficiency. topics include the basic definitions of algorithmic complexity (worst case, average case); basic tools such as dynamic programming, sorting, searching, and selection; advanced data structures and their applications (such as union-find); graph algorithms and searching techniques such as minimum spanning trees, depth-first search, shortest paths, design of online algorithms and competitive analysis. [Analysis] Students may receive credit for EN.600.363 or EN.600.463, but not both.

Fall 2012

(4.57)

Fall 2013

(4.58)

Fall 2014

(4.0)

Spring 2013

(4.28)

Spring 2014

(4.35)

Spring 2015

(4.42)

Fall 2012

Professor: Vladimir Braverman

(4.57)

Students said this course gave them a solid foundation in algorithms. They liked the professor’s clear teaching style and said he was very patient with their questions. The negative aspects of the course were that the review sessions were not always helpful and there was no online forum for students to ask questions about the class. Students suggested having an online forum, such as Piazza would improve the course. Some students also wanted the course to cover more applications. Overal , students said the course was very useful. You should have some background in data structures before taking this course.

Fall 2013

Professor: S Kosaraju

(4.58)

Students thought that the professor’s method of teaching was the best aspect of this course, and appreciated that he tried to help one learn the materials. They liked how he focused on teaching them the main points of a topic and then al owed them to go into greater detail on their own time. Students did feel that some of the course felt rushed and suggested slowing down to provide a little more detail for each topic. Students also wanted more programming and algorithms practice. Prospective students 87should be comfortable with proofs, data structures, and some programming. They should be proactive in asking for help as needed and pay attention during the lectures.

Fall 2014

Professor: Michael Dinitz

(4.0)

Students believed that the most useful aspect of this course was the homework assignments which they thought were helpful in teaching the course material. They strongly disliked the lack of feedback on homework. Students thought the course could have benefited from a reduction in the time commitment required for homework assignments. They also thought the course could be improved by slowing the pace of lectures. Students felt it was important for potential participants to know that knowledge of data structure was valuable for this course.

Spring 2013

Professor: Vladimir Braverman

(4.28)

The best aspects of this course included the opportunity to design algorithms, the lectures that were well-prepared, and the helpful textbook. Some students felt they were not provided with feedback in a timely manner. One suggestion included using PowerPoint on Blackboard as opposed to writing the notes. Another suggestion included providing more comprehensive exercises. Prospective students should brush-up on their knowledge of LaTeX.

Spring 2014

Professor: Vladimir Braverman

(4.35)

The best aspects of this course were the thorough and interesting introduction to theory and algorithms, the textbook was helpful, and the caring and engaged instructor. Many students felt encouraged to pursue theoretical computer science research. The worst aspects of the class were the inconsistent grading systems for homework, the lack of any formal proof work in class, and the disconnect between the lectures and the homework. Suggestions to improve the class included using PowerPoint more for lectures, more practical examples in class, and some additional study materials for things like data structures. Prospective students should have a good background in data structures, read the textbook, and be ready for fun.

Spring 2015

Professor: Vladimir Braverman

(4.42)

The best aspects of the course included the solid foundation in common algorithms. Many students noted that the weekly homework assignments were difficult but effectively reinforced concepts presented in class and prepared students for the exams. Some students claimed that lectures were unclear at times, and that the feedback on assignments was often delayed. Suggestions for improvement included adding more applications of algorithms to the syllabus to compliment the more theoretical material covered. Prospective students should be aware that this is a math-heavy, proof oriented course, and that a background in data structure may prove helpful.