Term and Year of offering: Fall 2015
Course Number and Title: MSCI 240 Algorithms & Data Structure
Instructor’s Name: Mark Hancock
Course Description: See description in the Undergraduate Calendar
Design and analysis of data structures and algorithms. Mathematical and conceptual analysis of algorithms for set operations, sorting, graphs, and priority queues. Comparison of algorithms on different data structures. Algorithmic and data structural solutions to common engineering problems in computer science. Mathematical analysis of space and time complexity as well as other forms of computational complexity in algorithms.
Course Objectives:
By the end of the course, students should be able to:
- Understand and use abstraction to separate interface from implementation as demonstrated by implementing abstract data types as C# objects. Implementations include both array based and link/pointer based techniques. Implementation requires skill with a modern integrated development environment and the ability to use a modern symbolic debugger.
-
Analyze
the
performance
of
solutions:
- Empirically measure and analyze the efficiency of a computer program using both internal timings and a professional quality code profiler. Analysis involves understanding variance of timings and the resolution of the timer. Variance is largely caused by varying inputs to the algorithms and to a lesser extent by the time-sharing nature of modern computers.
- Analytically analyze algorithms and predict their ability to scale with increasing input sizes. Requires understanding of big-Oh notation.
- Select appropriate data structures and algorithms for programming tasks. To make good selections requires knowledge of the algorithmic complexity of operations given the data structure and algorithm and knowledge of the tradeoffs in time, space, implementation and maintenance.
Required Readings, Materials and Texts:
Stuart Reges and Marty Stepp (2013). Building Java Programs: A Back to Basics Approach, 3rd edition, Pearson Education. ISBN: 0133437302, 9780133437300
Robert
Sedgewick
and
Kevin
Wayne
(2011).
Algorithms,
4th
edition,
Addison-Wesley
Professional.
ISBN:
0132762560,
9780132762564
This is a basic course description made available for public reference only. The Undergraduate Calendar is always the official source for all course descriptions. Course Syllabi will be distributed by the instructor in class. For additional details not found here, please contact the listed instructor.