|
|
|
 |
|
|
 |
|
|
 |
| CSCI 311: Algorithms and Data Structures |
 |
|
 |
|
|
|
Prerequisites: Grade of C- or better in CSCI 112
Catalog Description:
This course focuses on object-oriented methodologies in designing and implementing a variety of data structures and algorithms. Coverage includes recursion, trees, search structures, hashing, heaps, sorting algorithms, and graph algorithms. Data structure and algorithm combinations will be studied and analyzed along with their relative merits using both mathematical and empirical measurements. The course includes a number of large programming assignments focusing on object-oriented software engineering and algorithm development. Students will be required to design, implement, test, and analyze their programs in at least one object-oriented language. Formerly CSCI 151.
Course Objectives:
The objectives of this course are to:
- Help students learn structured problem solving, object-oriented programming techniques, and important data structures;
- Promote the study/investigation of various data structure and algorithm combinations by analyzing their relative advantages and disadvantages using both mathematical and empirical measurements; and
- Help students learn tools to develop correct, efficient, and well-structured (logically organized and separately compilable) programs - thereby building a strong foundation for developing large software systems.
Course Outcomes:
Upon successful completion of this course, the student shall be able to:
Class/Laboratory Schedule:
One hundred fifty minutes a week lecture
Fifty minutes a week activity
Accreditation Category Content:
This course embodies a significant portion of (a) Theoretical Foundations, (b) Problem Analysis and (c) Solutions Design.
- Correctly apply techniques of structured problem solving and object-oriented programming, in conjunction with the design and use of important data structures;
- Interpret and analyze the relative advantages and disadvantages of various data structure and algorithm combinations by using both mathematical and empirical measurements; and
- Appropriately use tools to develop correct, efficient, and well-structured (logically organized and separately compilable) programs thereby exhibiting a strong foundation for developing large software systems.
|
|
|
|
|
| Topic |
Percentage |
Hours |
| |
|
|
| Algorithms |
30% |
13.5 |
| Data Structures |
35% |
15.75 |
| Software Design |
20% |
9 |
| Concepts of Programming |
10% |
4.5 |
| Computer Organization and Architecture |
5% |
2.25 |
|
|
|
|
|
Relationship of Course to Program Objectives:
- Problem Analysis and Solution Design: Significant
- Oral and Written Communication: Some
- Social and Ethical Issues: Minimal
- Applicability to Future Endeavors: Significant
Relationship of Course to Program Outcomes:
This course supports the achievement of the following program outcomes:
- Outcome A: An ability to apply knowledge of math, science, and engineering.
- Outcome B: An ability to design and implement programs as well as to analyze and interpret code and data.
- Outcome C: An ability to design a system, component, or process to meet desired needs.
- Outcome E: An ability to identify, formulate, and solve computing problems.
- Outcome H: The broad education necessary to understand the impact of computing solutions in a global and societal context.
- Outcome J: A knowledge of contemporary issues.
- Outcome K: An ability to use the techniques, skills, and modern computing tools necessary for computing practice.
|
|
|
 |
|
 |
|
|
 |
CSU, Chico:
Home | Admissions | Bookstore | Catalog | Schedule | Library | Help
This page and its contents © 2003 College of Engineering, Computer Science, & Construction
Management
California State University, Chico |
College of Engineering, Computer
Science, & Construction Management
California State University, Chico
Chico, CA 95929-0003
530-898-5963
webmaster@ecst.csuchico.edu |
|
|