Difference between revisions of "CMSC420 - Data Structures"

From CS 400 Level Course Wiki
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Course Information''' <br>
+
<div id="TOC" style="float:right;">__TOC__</div>
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.
+
 
 +
This year, this course has three different instructors, all of whom teach this course differently. At present, we have information for only Michelle Hugue and Larry Davis. We are currently working on getting information from Venkatramanan Subrahmanian. If you have any questions about their section of the course and how they will be presenting the material, please ask them directly.<br>
  
 +
== Michelle Hugue | 0101 & 0201 ==
 
{| style="text-align:left; width: 550PX;"
 
{| style="text-align:left; width: 550PX;"
! Instructor
 
 
! Section
 
! Section
 
! Day & Time
 
! Day & Time
 
! Location
 
! Location
 
|- style="vertical-align:top;" |
 
|- style="vertical-align:top;" |
| Michelle Hugue || style="vertical-align:top;" | 0101 || TuTh 3:30PM - 4:45PM || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 3117]<br>
+
| 0101 || TuTh 2:00pm - 3:15pm|| style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 3117]<br>
 
|- style="vertical-align:top;" |
 
|- style="vertical-align:top;" |
| Larry Davis || 0102 || style="vertical-align:top;" | MW 3:30PM - 4:45PM || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 2117]
+
| 0201 || TuTh 3:30pm - 4:45pm || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 1122]
|- style="vertical-align:top;" |
+
|}
| Venkatramanan Subrahmanian|| 0301 || style="vertical-align:top;" | TuTh 11:00AM - 12:15PM || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 2117]
+
 
|}
+
'''Course Description'''<br>
 +
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.
  
 
''' Course Prerequisite(s) ''' <br>
 
''' Course Prerequisite(s) ''' <br>
Line 19: Line 21:
  
 
''' Class Webpage ''' <br>
 
''' Class Webpage ''' <br>
 +
[http://www.cs.umd.edu/class/fall2016/cmsc420/ CMSC420 Fall 2016 - Meesh]
  
 
''' Hours Per Week ''' <br>
 
''' Hours Per Week ''' <br>
Line 27: Line 30:
  
 
''' Recommended Prior Experience ''' <br>
 
''' Recommended Prior Experience ''' <br>
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 ''' <br>
 
''' Projects, Exams, or other Assessments ''' <br>
Line 35: Line 38:
 
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.
 +
 +
== Larry Davis | 0301 ==
 +
{| style="text-align:left; width: 550PX;"
 +
! Day & Time
 +
! Location
 +
|- style="vertical-align:top;" |
 +
| TuTh 11:00am - 12:15pm || style="vertical-align:top;" | [http://maps.umd.edu/map/index.html?Welcome=False&MapView=Detailed&LocationType=Building&LocationName=406 CSI 1122]
 +
|}
 +
 +
'''Course Description'''<br>
 +
Sorting and searching (trees, tries, hashing), representations for higher dimensional data (kd trees, quadtrees and others), big data applications.<br>
 +
 +
'''Hours per week'''<br>
 +
2 - 4 Hours per week<br>
 +
 +
''' Languages Used ''' <br>
 +
Fairly open. Java mostly
 +
 +
''' Recommended Prior Experience ''' <br>
 +
Just the standard sequence through the 300 level.
 +
 +
''' Projects, Exams, or other Assessments ''' <br>
 +
Usually 2-3 exams, 3 projects
 +
 +
'''Misc Info'''<br>
 +
Emphasis is on algorithms and data structures, not proofs.  Projects designed to exercise methods covered in class.

Latest revision as of 19:54, 4 April 2017

This year, this course has three different instructors, all of whom teach this course differently. At present, we have information for only Michelle Hugue and Larry Davis. We are currently working on getting information from Venkatramanan Subrahmanian. If you have any questions about their section of the course and how they will be presenting the material, please ask them directly.

Michelle Hugue | 0101 & 0201[edit]

Section Day & Time Location
0101 TuTh 2:00pm - 3:15pm CSI 3117
0201 TuTh 3:30pm - 4:45pm CSI 1122

Course Description
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.

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
CMSC420 Fall 2016 - Meesh

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


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.

Larry Davis | 0301[edit]

Day & Time Location
TuTh 11:00am - 12:15pm CSI 1122

Course Description
Sorting and searching (trees, tries, hashing), representations for higher dimensional data (kd trees, quadtrees and others), big data applications.

Hours per week
2 - 4 Hours per week

Languages Used
Fairly open. Java mostly

Recommended Prior Experience
Just the standard sequence through the 300 level.

Projects, Exams, or other Assessments
Usually 2-3 exams, 3 projects

Misc Info
Emphasis is on algorithms and data structures, not proofs. Projects designed to exercise methods covered in class.