INFS 590

Program Design and Data Structures

 

Announcements             Assignments

 

Instructor:


Dr. Jessica Lin
Office: Science & Tech II, Room 330C
Phone: 703-993-4693
Email:  jessica[AT]ise[DOT]gmu[DOT]edu
Office Hours: Mon/Tues 4-6pm

 

Teaching Assistant:

 

          Nagini Kodukula

          Email: nagini.kodukula [AT] gmail [DOT] com (for project submission)

                     nkodukul [AT] gmu [DOT] edu

          Office: Science & Tech II, Room 268

          Office Hours: Mon 4-6pm

                                 Thurs 5-7pm

 

Lectures:

 

Tuesday 7:20-10:00pm, Robinson Hall B228

Prerequisite:

 

Undergraduate courses or equivalent knowledge in structured programming in a high-level language.

 

Textbook:

 

Data Structures & Problem Solving Using Java 3rd Edition, M. A. Weiss, ISBN 0-321-32213-4

 

Compiler Version

 

All your code should compile under Java 1.5.

 

Course Description:

 

Study of the fundamentals of data structures and algorithms applied in programming solutions to application problems. The course stresses programming in a modern high-level language. Credit cannot be applied to any graduate degree in School of Information Technology and Engineering.

 

Grading:


Programming/Written Assignments: 35%

Quizzes: 5%
Midterm Exam: 30%
Final Exam: 30%

 

 

Homework Assignments:

 

The written assignments are designed to help you learn and prepare for the exams. They are due in the beginning of the class on the announced date. There will be a strictly enforced 10% penalty per day for late submissions.

 

Programming Projects:

 

Programs will be graded on correctness as well as style and formatting. The assignments are due on the announced date before 12 midnight. The late submission penalty also applies. Programs that do not compile will not be graded. Turn in assignments to the teaching assistant via email as attachments. Your programs will be graded with my own test cases (in my main method, which I will not share in advance), therefore, it’s important that you follow the specification exactly as instructed – this means using identical class and method names/signatures/return types. Failure to do so will result in your programs not compiling with my main, and consequently, zero for your projects.

 

Exams:


Quizzes will be given in the beginning of the class. They may or may not be announced in advance. The lowest quiz grade will be dropped at the end of the semester. There will be a midterm exam and a final exam covering lectures and readings (both will be in class, closed book). The final exam (comprehensive) includes topics covered in the entire semester. Exams must be taken at the scheduled time and place. Missed exams cannot be made up.

 

Honor Code Statement:

 

Please be familiar with the GMU Honor Code. Any deviation from this is considered an Honor Code violation. All assignments (written and programming) for this class are individual unless otherwise specified.

 

 

 

Tentative Schedule:

 

Weeks

Dates

Topics

Readings

Slides

1

Jan 24

Java Review - Primitives

Ch. 1 & 2

590_1.pdf

2

Jan 31

Objects & Classes

Ch. 3

590_2.pdf

3

Feb 7

Inheritance I

Ch. 4

590_3.pdf

4

Feb 14

Inheritance II

Ch. 4

590_4.pdf

5

Feb 21

Algorithm Analysis

Ch. 5

590_5.pdf

6

Feb 28

Recursion & Sorting I

Ch. 7 & 8

590_6.pdf

7

Mar 7

Midterm

 

 

8

Mar 14

Spring Break

 

 

9

Mar 21

Sorting II, Stacks & Queues

Ch. 8, 11, 16

590_7.pdf

10

Mar 28

Linked List/Trees

Ch. 17 & 18

590_8.pdf

11

Apr 4

Binary Search Trees, Priority Queues/Binary Heaps

Ch. 19 & 21

590_9.pdf

12

Apr 11

Hash Tables

Ch. 20

590_10.pdf

13

Apr 18

Graphs

Ch. 14

590_11.pdf

590_11_large.pdf

14

Apr 25

TBA

 

 

15

May 2

Final Exam