Course Details


Course Objectives:

In nearly every software application, data must be stored and managed to meet the needs (i.e. time and space efficiency) of the user. This course introduces basic data structures and their application using the Java programming language. We will introduce a mathematical framework for evaluating the efficiency of Java code, and develop implementations of basic data structures such as lists, stacks and queues. We will then study searching and sorting algorithms, and introduce recursion as a strategy for improving the running time of these algorithms. This will lead us to study more advanced data structures that are defined recursively, such as trees and heaps. We will then cover several advanced topics, such as hash tables and the storage and exploration of graphs.

At the end of this course, students should be able to:

  • Use the object-oriented programming paradigm to write understandable and maintainable Java programs.
  • Given a specification, design and implement an algorithm in Java that will correctly satisfy the specification.
  • Rigorously analyze the time and space efficiency of a Java program.
  • Compare and contrast the relative merits (in terms of efficiency) and applicability of standard data structures.

 

 

Prerequisites:

Passing grade in ECE122 or permission of ECE Undergraduate Program Director (T. Baird Soules)

 

Course Outline:

  • Java Programming and Object-Oriented Design
  • Algorithm Analysis
  • Lists, Stacks and Queues
  • Algorithms for Searching and Sorting Lists
  • Recursive Algorithms for Searching and Sorting
  • Recursive Data Structures
  • Hashing
  • Graph Algorithms

 

Assignments:

1.      Programming projects (~5 projects)

2.      Written homeworks (~5 assignments)

3.      Class Tests (~3 tests): TBA

Grade Composition:

·          Projects: 35%

·          Homeworks: 10%

·          Exams: 55%

 

Note:

  For more information about the complete course policy, you can read the policy page.

 

 

Lecture Material:

All the class lecture presentations will be made available online on the syllabus page. Click on a lecture topic to retrieve the lecture notes.

Test grade will not be posted on our website due to privacy issue. You can pick up your exam in lecture class or discussion section when it is ready.

ABET Criteria :

Relationship of ECE 242 course objectives to program outcomes:

Program Outcomes

Course Objectives

 

1

2

3

4

 1. Well grounded in the fundamental concepts of math, physics, chemistry, computer science, and engineering science

Y

Y

N

N

 2. Able to identify, formulate and solve problems in ECE

N

Y

N

Y

 3. Able to design and conduct experiments, and to analyze and interpret measured data

Y

Y

Y

Y

 4. Capable of designing analog and digital systems, components and processes to meet desired needs

N

N

N

N

 5. Proficient in using modern engineering techniques and computing tools for effective engineering practice

Y

Y

Y

N

 6. Experienced in engineering teamwork and in solving technically diverse problems

N

N

N

Y

 7. Able to communicate effectively orally and in writing , and through symbolic and graphical expression

N

N

N

N

 8. Aware of professional and ethical responsibilities as engineers

N

N

N

N

 9. Aware of the impact of ECE technology and decisions on society

N

N

N

N

 10. Motivated about the importance of lifelong learning and professional development

N

N

N

N