CSUF Logo
optics.csufresno.edu Class Files - ECE 81 Syllabus
Department of Electrical and Computer Engineering
Dr. Gregory R. Kriehn, Professor

ECE 81 Syllabus
ECE 81 - Computer Algorithms and Data Structures
4 Lecture Hours (4 Units)

Lecture:  Mon/Wed, 10:00 AM - 11:50 AM, EE 389

Fresno State, Lyles College of Engineering
Department of Electrical and Computer Engineering

Instructor:  Dr. Gregory Kriehn
Office:  EE 254B (ECE Dept. Office)
Telephone:  559-278-8811
Email:  gkriehn@csufresno.edu
Web:  https://optics.csufresno.edu/
Office Hours:  Mon, Tue: 2:30 PM - 5:00 PM

2018 - 2019 Catalog Description:  IDE based Object-Oriented Programming in C++ using pointers, dynamic vectors, structures, classes, composition, overloading, templates, inheritance, separate compilation, namespaces, and the Standard Template Library.  Implementation of searching/sorting algorithms, recursion, data structures, linked lists, stacks, queues, heaps, trees, graphs, and hashing.
Prerequisites:
  ECE 71

Course Objectives:  This course provides a bridge between introductory programming concepts and intermediate programming methodologies by transitioning from the basic programming facilities taught in ANSI C/C++ (e.g., data types, declarations, statements, functions, pointers, arrays, structures, etc.) into abstraction mechanisms in C++ (e.g., objects, classes, File I/O, containers, object-oriented programming, and templates).  These concepts will then be applied to implement algorithms, data structures, and other objects in C++, with and emphasis on software engineering and engineering design problems.

Class Objectives for ECE 81 include having students:
  1. Learn the structure and syntax of C++ as it relates to C programming.
  2. Create C++ programs using objects, classes, and containers.
  3. Code using object-oriented programming concepts and templates.
  4. Effectively use data structures including dynamic arrays, linked lists, stacks, and queues.
  5. Become familiar with recursion and recursive functions.
  6. Learn about files and file manipulation techniques.
  7. Use algorithms and data structures to create trees with an emphasis on sorting and searching techniques.
  8. Improve coding skills when writing code, fix compilation errors, running and debugging programs.
  9. Use an Integrated Development Environment (IDE) for writing large programs.
  10. Understand software testing and verification concepts.

Course Material Requirements
Expected Student Work
Grading Policy
Course Policies
University Policies
ABET Learning Objectives and Outcomes
Programming and Lecture Schedule


Subject to Change

This syllabus and schedule are subject to change event of extenuating circumstances.

If you are absent from class, it is your responsibility to check on
announcements made while you were absent.