Difference between revisions of "CMSC420 - Data Structures"
Line 30: | Line 30: | ||
''' Projects, Exams, or other Assessments ''' <br> | ''' Projects, Exams, or other Assessments ''' <br> | ||
− | + | ||
''' Misc Info ''' <br> | ''' Misc Info ''' <br> | ||
We often refer to this course as "data structures in context." | We often refer to this course as "data structures in context." | ||
The class presents a practical approach to data structures for computer intensive products that can be proven to satisfy correctness and performance requirements. One can obtain almost any data structure from a book or online. However, it takes experience to identify data structures known to provide the desired behavior; to extend them to satisfy the specific application; and to evaluate the deliverables to show that they satisfy the composite standard and custom requirements. The lectures, the project (three linked parts) and the exams are designed to provide students with such experience. This includes having projects which require sustained effort rather than last minute code-a-thons, exams written to elicit knowledge, not empty verbiage, and course policies which reward hard work and learning from mistakes. To put it bluntly, I'll do my best to help you to make mistakes and then support your efforts to learn from them. This is a thinking class, not an echo information class. | The class presents a practical approach to data structures for computer intensive products that can be proven to satisfy correctness and performance requirements. One can obtain almost any data structure from a book or online. However, it takes experience to identify data structures known to provide the desired behavior; to extend them to satisfy the specific application; and to evaluate the deliverables to show that they satisfy the composite standard and custom requirements. The lectures, the project (three linked parts) and the exams are designed to provide students with such experience. This includes having projects which require sustained effort rather than last minute code-a-thons, exams written to elicit knowledge, not empty verbiage, and course policies which reward hard work and learning from mistakes. To put it bluntly, I'll do my best to help you to make mistakes and then support your efforts to learn from them. This is a thinking class, not an echo information class. |
Revision as of 13:22, 2 October 2016
Course Information
Description, properties, and storage allocation of data structures including lists and trees. Algorithms for manipulating structures. Applications from areas such as data processing, information retrieval, symbol manipulation, and operating systems.
Instructor | Section | Day & Time | Location |
---|---|---|---|
Michelle Hugue | 0101 | TuTh 3:30PM - 4:45PM | CSI 3117 |
Larry Davis | 0102 | MW 3:30PM - 4:45PM | CSI 2117 |
Venkatramanan Subrahmanian | 0301 | TuTh 11:00AM - 12:15PM | CSI 2117 |
Course Prerequisite(s)
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.
Class Webpage
Hours Per Week
The workload for this course is at least the 10 hours associated with a 3 credit class. Programming and debugging skills, or a lack thereof, make it hard to give a decent estimate here.
Languages Used
JAVA
Recommended Prior Experience
A B or better in 216, or experience in another C-based course (possibly 417) or heavy programming course. Concretely, a student should have no question on whether to use the & operator or the * operator when dealing with pointers and should understand the difference between sizeof() and strlen().
Projects, Exams, or other Assessments
Misc Info
We often refer to this course as "data structures in context."
The class presents a practical approach to data structures for computer intensive products that can be proven to satisfy correctness and performance requirements. One can obtain almost any data structure from a book or online. However, it takes experience to identify data structures known to provide the desired behavior; to extend them to satisfy the specific application; and to evaluate the deliverables to show that they satisfy the composite standard and custom requirements. The lectures, the project (three linked parts) and the exams are designed to provide students with such experience. This includes having projects which require sustained effort rather than last minute code-a-thons, exams written to elicit knowledge, not empty verbiage, and course policies which reward hard work and learning from mistakes. To put it bluntly, I'll do my best to help you to make mistakes and then support your efforts to learn from them. This is a thinking class, not an echo information class.