Lehigh University
COLLEGE HOME | LEHIGH HOME | SEARCH




   

CSE 17  Programming and Data Structures (3)

Instructor:  Sharon Kalafut

Current Catalog Description 
Algorithmic design and implementation in a high level, object-oriented language such as JAVA.  Recursion, lexical programs, pointers, data structures and their applications. Prerequisite: CSE 15, ENGR 1 or permission of the instructor.

Textbook
Y. Daniel Liang, Introduction to Java Programming (2009) or 7th Edition, Prentice Hall, 2009

References:  Walter Savitch, "Absolute JAVA" (2009) or 4th Edition, Prentice-Hall, 2009.

COURSE OUTCOMES:

Student will have:

1.  To become fluent in writing code in JAVA.
2.  The ability to design class structures.
3.  To understand data abstraction and abstract data types. 
4.  To understand object oriented concepts such as polymorphism,inheritance and encapsulation.
5.  To understand Exception Handling.
6.  To become familiar Streams and File I/O.
7.  To understand how to write and use recursive functions.
8.  To understand Linked List Data Structures to include Queues and Stacks.
9. To understand Tree Data Structures.
10.  To understand Arrays and Multidimensional Arrays.

RELATIONSHIP BETWEEN COURSE OUTCOMES AND PROGRAM OUTCOMES

CSE 17 substantially supports the following program outcomes:

C. An ability to design, implement and evaluate a computer bases system process, component, or program to meet desired needs.

I.  An ability to use current techniques, skills, and tools necessary for computing practices.

K. An ability to apply design and development principles in the construction of software systems of varying complexity.

 

Prerequisites by Topic
 Algorithms and top-down design
 Array Structures
 Basic data types and operations
 File Handling
 Basic File I/O 
 Predefined Functions
 Programmer-Defined Functions
 Procedural Abstraction
 Testing and Debugging Functions
 Boolean Expressions
 Branches Structures
 Looping Structures

Major Topics Covered in the Course 
Object Oriented Programming
Classes and methods
Sorting
Selection
Abstract Data Types
Inhertance
Encapsulation
Polymorphism
Streams and File I/O
Exception Handling
Arrays
Linked Lists
Stacks
Queues
Tree Structures
Building small to Mid-Size Programs

Assessment Plan for the Course:
Course projects consists of eight to nine programming assignments. The project components are assigned in roughly increasing order of size and difficulty; proportionately more time is allotted for the later assignments. Approximately 3 days to one week is given for each assignment. Each assignment typically covers one of the major topics in the course. Typically (2) hourly exams are given and one three hour final exam. Each hourly exam consists of 5-8 questions. Students are asked to write a complete program, determine the output of a prefined program or write a program segment. Each question will cover a topic or topics covered in class. The final exam consists of 10-15 questions covering all topics in class and a specific question on different data structures. Student performance is tracked on each programming assignment, hourly exams and final exam.

 

How Data in the Course are Used to Assess Program Outcomes:(unless adequately covered already in the assessment discussion under Criterion 4)

Each semester a self-assessment report is created with data from my assessment plan of the course. The report is reviewed, in turn, by the Curriculum Committee.
 

     
image


©2012 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015