Goals and Outcomes
Goals
- Understand several interesting data structures and their properties.
- Learn how to use data structures and other tools to solve problems in various application areas.
- Gain experience in reading the relevant research literature and other publications used to disseminate
knowledge in the field.
- Practice the appropriate and ethical use of existing material of different kinds, such as source code,
services, and documentation.
- Gain experience in contributing to the body of knowledge.
- Learn how to analyze of the running times of programs using simple mathematical methods.
- Gain experience in conducting and documenting experimental studies of programs.
- Improve our programming skills, with attention to software engineering principles.
- Improve our communication skills, with particular emphasis on written communication and, further,
well-written programs.
- Learn how to manage a self-directed project.
Student Learning Outcomes
Upon successful completion of this course, students are able to
- List commonly used data structures, and the advantages and drawbacks of each.
- Determine suitable data structures for solving a given problem.
- Effectively read suitable publications related to the topic.
- Use resources such as others’ code and writing in an ethical and professional manner.
- Contribute to the body of knowledge at an undergraduate level.
- Analyze the running times of programs using simple methods.
- Perform simple experimental studies of programs.
- Program with attention to community standards and good practices.
- Communicate their programming work effectively.
- Meet Quantitative Literacy General Education requirements, such as being able to [following text is
from U. Maine Gen. Ed. documents]:
- Translate problems from everyday spoken and written language to appropriate quantitative
questions.
- Interpret quantitative information from formulas, graphs, tables, schematics, simulations, and
visualizations, and draw inferences from that information.
- Solve problems using arithmetical, algebraic, geometrical, statistical, or computational methods.
- Analyze answers to quantitative problems in order to determine reasonableness. Suggest
alternative approaches if necessary.
- Represent quantitative information symbolically, visually, and numerically.
- Present quantitative results in context using everyday spoken and written language as well as
using formulas, graphs, tables, schematics, simulations, and visualizations.