<p>could anyone tell me what is going to be covered in 15-111? I am taking this course in the fall</p>
<p><a href=“2023-2024 Undergraduate Catalog < Carnegie Mellon University”>2023-2024 Undergraduate Catalog < Carnegie Mellon University;
<a href=“2023-2024 Undergraduate Catalog < Carnegie Mellon University”>2023-2024 Undergraduate Catalog < Carnegie Mellon University;
<a href=“2023-2024 Undergraduate Catalog < Carnegie Mellon University”>2023-2024 Undergraduate Catalog < Carnegie Mellon University;
<p>Eat your heart out.</p>
<p>but how does it differ from 15-211 in the treatment of data structure? what aspect of OO programming is emphasized?</p>
<p>15-111 will be an introduction to topics such as linked lists and binary trees, and also cover many data structures in Java, suck as ArrayLists and HashMaps. A good portion of the class is devoted to discussion inheritance, abstract classes, interfaces, and other OOP topics. A typical 15-111 assignment involves using a supplied version of a data structure to do something, or implementing a naive version of a data structure (dictionary via a linked list).</p>
<p>15-211 is more in depth and does not focus on using particular Java classes. It is assumed that you have a good grasp of OOP concepts. Instead of just discussing binary trees, variations are covered such as red-black trees, balanced trees, tries, B-trees, and Fibonacci heaps. Big-Oh notation is covered in much more detail, and dynamic programming is a large topic. A typical 15-211 assignment would be to implement a data structure or algorithm discussed in class, such as a B-Tree (far trickier than a binary tree, and far tricker than it seems like it should be) or LZW compression.</p>
<p>Any more questions? If you feel very solid with the material from the AB CS exam, then take 15-211; in general I would suggest that people err on the side of caution and take 15-111 (or 15-123).</p>