16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Data Abstraction and Data Structures, Miami University<br />

Oxford OH<br />

Gerald C. Gannod<br />

gannodg@miamioh.edu<br />

http://cs-comm.lib.muohio.edu/collections/show/3<br />

Knowledge Areas that contain topics and learning outcomes covered in the course<br />

Knowledge Area<br />

Total Hours of Coverage<br />

Software Development Fundamentals (SDF) 12 – core tier 1<br />

Algorithms and Complexity (AL) 2 – core tier 1, 1 – core tier 2<br />

Social Issues and Professional Practice (SP) 1 – core tier 1<br />

Where does the course fit in your curriculum<br />

The Data Abstraction and Data Structures course is numbered 274 in our program and thus it is expected that<br />

students take this course in the second year of the program. Typically, students take this course in the first semester<br />

of the Fall semester. The course is required and has two prerequisites (CS 2 and the discrete structures course).<br />

What is covered in the course<br />

This course is being used as an exemplar of how we incorporate communication outcomes into the core curriculum.<br />

As such, the course description looks very much like other courses for data structures and the real difference is in the<br />

execution of the course and how the communication skills are integrated into the assignments.<br />

Course Description:<br />

Abstract data types and their implementation as data structures using object-oriented programming. Use of objectoriented<br />

principles in the selection and analysis of various ADT implementations. Sequential and linked storage<br />

representations: lists, stacks, queues, and tables. Nonlinear data structures: trees and graphs. Recursion, sorting,<br />

searching, and algorithm complexity.<br />

• Apply appropriate data structures and abstract data types (ADT) such as bags, lists, stacks, queues, trees,<br />

tables, and graphs in problem solving.<br />

• Apply object-oriented principles of polymorphism, inheritance, and generic programming when<br />

implementing ADTs for data structures.<br />

• Create alternative representations of ADTs either from implementation or the standard libraries.<br />

• Apply recursion as a problem solving technique.<br />

• Determine appropriate ADTs and data structures for various sorting and searching algorithms.<br />

• Determine time and space requirements of common sorting and searching algorithms.<br />

Communication Assignments:<br />

Examples of communication assignments for this course can be found at this site: http://cscomm.lib.muohio.edu/collections/show/3.<br />

The assignments incorporate the use of workplace scenarios that provide<br />

context for a programming assignment. Students are required to exercise communication skills in the reading and<br />

writing of technical documentation in support of the technical products including the creation of test case<br />

specifications and API documentation.<br />

What is the format of the course<br />

The course is taught using the flipped / inverted classroom model. In particular, the students view videos online<br />

prior to coming to class, and then work on programming assignments in class. For the communication outcomes,<br />

many of the learning activities are either performed in class as preparation for programming tasks, or as a<br />

- 400 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!