 |
CS 2420-EAE: Introduction to Computer Science II
|
|
INSTRUCTOR: | Adam Bargteil (Office hours:
after class & Tu 2-3, MEB 3458) |
|
TEACHING ASSISTANT: | Cable Thompson (Email: cpt@cs.utah.edu, Office hours: M/W 11:45-1:15, Tu 6-7, Th 11-1, 5-7)
|
|
WEB PAGE: | http://www.eng.utah.edu/~cs6967/
|
| HELP: | TA Queue Email: teach-2420-eae at list dot eng dot utah dot edu
| | LECTURE: | M/W 1:25-2:45, WEB 112 |
| LAB: | F 2:00-2:50, WEB 130
|
| UNITS: | 4 |
| Final Exam: | May 5, 1-3pm |
| GRADES | |
Note: You may also ask the TAs for the regular CS 2420 general Java questions.
|
|
COURSE OVERVIEW:
The second course required for students intending to major in computer science and computer engineering. Introduction to the problem of engineering computational efficiency into programs. Classical algorithms (including sorting, searching, and graph traversal) and data structures (including stacks, queues, linked lists, trees, hash tables, and graphs). Analysis of program space and time requirements. Extensive programming exercises that require the application of elementary techniques from software engineering.
|
TOPICS TO BE COVERED:
- Algorithms
- Algorithm Analysis
- Data Structures
- Computer Graphics and Animation
- Advanced Programming in Java
|
|
PREREQUISITES:
CS 1410, permission of instructor
|
TEXT:
Data Structures & Problem Solving Using Java, 3rd Edition
by Mark Allen Weiss
ISBN: 0-321-32213-4
|
METHOD OF EVALUATION:
| Programming Assignments | 40% |
| Written Assignments | 10% |
| Labs | 10% |
| Midterm Exam | 20% |
| Final Exam | 20% |
Late Policy:
Assignments will be due Thursday at 11:59 pm. You may turn in assignments by Friday at 11:59 pm without penalty.
Assignments turned in on Saturday or later will not be graded.
|
CLASS SCHEDULE (subject to change)
Week #1: January 12 - January 16
|
Week #2: January 19 - January 23
| Reading: | Chapter 4 (Generics and Inheritance) |
| Monday lecture: |
None
|
| Thursday lecture: |
jogl code
|
|
| Programming Assignment: |
Java & jogl Warm-up in Eclipse
|
Due Thursday |
| Friday lab: |
Drawing in OpenGL
|
|
Week #3: January 26 - January 30
|
Week #4: February 2 - February 6
|
Week #5: February 9 - February 13
| Reading: | Chapter 7 and 8 |
| Monday lecture: |
More Recursion
|
| Wednesday lecture: |
Sorting Algorithms
|
|
| Programming Assignment: |
Seam Carving
My Implementation
|
Due Thursday |
| Friday lab: |
2D Games
|
|
Week #6: February 16 - February 20
| Reading: | Chapter 8 |
| Monday lecture: |
No Lecture
|
| Wednesday lecture: |
Still Sorting
|
|
| Programming Assignment: |
2D Games
|
Due Thursday |
| Friday lab: |
Collision Detection
|
|
Week #7: February 23 - February 27
| Reading: | Chapter 16 & 18 |
| Monday lecture: |
Implementations of Stacks and Queues
|
| Wednesday lecture: |
Trees
|
|
| Programming Assignment: |
Collision Detection through Sorting
|
Due Thursday |
| Friday lab: |
User Interface
|
|
Week #8: March 2 - March 6
| Reading: | Chapter 18 & 19 |
| Monday lecture: |
More Trees
|
| Wednesday lecture: |
Even More Trees
|
|
| Programming Assignment: |
Stacks, Queues, Menus and Buttons
|
Due Thursday |
| Friday lab: |
Midterm Review: Come with questions for Cable
|
|
Week #9: March 2 - March 6
| Reading: | Chapter 1-8, 16-19 |
| Monday lecture: |
Midterm Review (Study Guide)
|
| Wednesday lecture: |
Midterm Exam
|
|
| Programming Assignment: |
None
|
Due Thursday |
| Friday lab: |
Cancelled: Enjoy your Spring Break!
|
|
Week #10: March 23 - March 27
| Reading: | Chapter 19 |
| Monday lecture: |
AVL Trees
|
| Wednesday lecture: |
Red-Black Trees
|
|
| Programming Assignment: |
None
|
Due Thursday |
| Friday lab: |
File I/O and parsing.
|
|
Week #11: March 30 - April 3
| Reading: | Chapter 19 |
| Monday lecture: |
Red-Black Trees
|
| Wednesday lecture: |
AA Trees
|
|
| Programming Assignment: |
See Next Week
|
Due Thursday |
| Friday lab: |
Debugging Insert
|
|
Week #12: April 6 - April 10
| Reading: | Chapter 14 |
| Monday lecture: |
Graphs
|
| Wednesday lecture: |
Graph Algorithms
|
|
| Programming Assignment: |
Red-Black Trees
My Implementation
|
Due Thursday |
| Friday lab: |
Spring-Mass Systems
|
|
Week #13: April 13 - April 17
| Reading: | Chapter 21 |
| Monday lecture: |
Strongly Connected Components, Minimum Spanning Trees, Min-Cut/Max-Flow
|
| Wednesday lecture: |
Heaps
|
|
| Programming Assignment: |
Spring Mass Games
|
Due Thursday |
| Friday lab: |
Binary Heap
|
|
Week #14: April 20 - April 24
| Reading: | Chapter 20 |
| Monday lecture: |
Hash Tables
|
| Wednesday lecture: |
Quad Trees
|
|
| Programming Assignment: |
Graph Algorithms
My Implementation
|
Due Thursday |
| Friday lab: |
Hash Tables
|
|
Week #15: April 27 - April 29
|
|