Instructor: Dr. Teresa Leyk
Office: 901E Richardson Bldg.
phone: 845-4456
e-mail: teresa@cs.tamu.edu
Course web page: (all information about the course will be there):
http://courses.cs.tamu.edu/teresa/cpsc211/cpsc211-index.html
Class Time: MWF 3:00 pm – 3:50 pm, ZACH 105 B
Lab Time:
| Section | Time | Lab | TA | PT |
| 502 | MW 12:40-1:30 PM | HRBB 232 | Thomas George | Brad Twitty |
| tgeorge@cs.tamu.edu | bradtwitty@gmail.com | |||
| MTWR 11:30-12:30 pm | MW - 4:00- 5:00pm | |||
| HRBB 309A | F - 11:20am-12:20pm | |||
| HRBB 219 | ||||
| 503 | TR 12:45-1:35 PM | HRBB 232 | Thomas George | Brad Twitty |
| tgeorge@cs.tamu.edu | bradtwitty@gmail.com | |||
| MTWR 11:30-12:30 pm | MW - 4:00- 5:00pm | |||
| HRBB 309A | F - 11:20am-12:20pm | |||
| HRBB 219 |
Office Hours: MWF 10:15 am – 11:15 am, other times by appointment, 901E Richardson
Course Description: Credit 4. Specification and implementation of basic data structures and abstract data types: linked lists, stacks, queues, trees, hash tables, graphs; performance trade-offs of different implementations; asymptotic analysis of running time and memory usage; comparison and contrasting object oriented languages (typically Java) and non-object-oriented languages (typically C); emphasis on adherence to good software engineering principles.
Prerequisite: CPSC 111 “Introduction to Computer Science Concepts and Programming”, knowledge of C and Java programming languages.
Required Textbook: "Data Structures and Abstractions with Java" by Frank M. Carrano and Walter Savitch, 2003, Prentice Hall, (ISBN 0-13-017489-0). Also, you may need a C reference book: "A first book of ANSI C " by Gary J. Bronson, 3rd ed., Brooks/Cole or “C by Dissection” by Al Kelley and Ira Pohl.
Learning Objectives: At the end of this course students should be able to:
Course Content (the topics and related chapters according to the textbook):
Grading: Your final grade will be determined based on programming homework assignments, quizzes, mid-term exams and the final exam.
Grading Scale: Grades will be assigned according
to the following scheme:
90% –100% –> A, 80% – 89% –> B, 70% – 79% –> C, 60% –
69% –> D, 0% – 59% –> F
You can also get 2 points to your final score if you have perfect
lab attendance, or 1 point if you have only one absence.
Learning process: From the syllabus you may have noticed that this course focuses on obtaining a computer science background and developing programming skills. Programming is not something what you can learn overnight by reading a textbook or lecture notes, it requires a lot of practice. The class TA, PTs and I are willing to help you to learn and understand the course material and master your programming skills so please see us during our office hours.
A few hints that will help you to succeed in this course:
In general, Computer Science is not an easy subject but it will payoff after graduation. CNNMoney posted on Feb. 8, 2007 the results of the survey called "The most lucrative college degrees". The value of degree was measured by the average starting salaries for the class 2007. The top salary offers are:
Chemical Eng. – 60,054
Electrical Eng. – 54,599
Mechanical Eng. – 54,587
Computer Science – 51,070
. . .
Liberal Arts Majors – 30,502.
I think that you are aware that the four years you spend in college set the stage for your life. You must learn how to balance school and fun.
Also, CNN Money produced a top fifty list of the Best Jobs in America:
Notes
| No. | date | day | Topic | Chap. | homework | quiz | wk |
| 1 | Aug. 25 | Mon | Introduction | 1 | |||
| 2 | Aug. 27 | Wed | Introduction to Data Structures | 1 | |||
| 3 | Aug. 29 | Fri | Object Oriented Programming (OOP) in Java | 1, 2, 3 | PA 1 | quiz 1 | 1 |
| 4 | Sep. 01 | Mon | Object Oriented Programming (OOP) in Java | 1, 2, 3 | 2 | ||
| 5 | Sep. 03 | Wed | Object Oriented Programming (OOP) in Java | 1, 2, 3 | 2 | ||
| 6 | Sep. 05 | Fri | Java and C | 1, 2, 3 | quiz 2 | 2 | |
| 7 | Sep. 08 | Mon | Java and C | 3 | |||
| 8 | Sep. 10 | Wed | Arrays and Pointers in C | 3 | |||
| 9 | Sep. 12 | Fri | Pointers and Function Calls in C | PA 2 | quiz 3 | 3 | |
| 10 | Sep. 15 | Mon | Pointers and Function Calls in C | 4 | |||
| 11 | Sep. 17 | Wed | Introduction to Analysis of Algorithms | HW 1 | 4 | ||
| 12 | Sep. 19 | Fri | Introduction to Analysis of Algorithms | 9 | quiz 4 | 4 | |
| 13 | Sep. 22 | Mon | Introduction to Analysis of Algorithms | 9 | 5 | ||
| 14 | Sep. 24 | Wed | Exam 1 | 5 | |||
| 15 | Sep. 26 | Fri | Lists and Linked Lists | 4, 5, 6, 7 | PA 3 | 5 | |
| 16 | Sep. 29 | Mon | Linked Lists. Doubly and Circular Linked Lists | 4, 5, 6, 7 | 6 | ||
| 17 | Oct. 01 | Wed | Linked Lists. Implementations in C and Java | 4, 5, 6, 7 | 6 | ||
| 18 | Oct. 03 | Fri | Linked Lists. Implementations in C and Java | 4, 5, 6, 7 | quiz 5 | 6 | |
| 19 | Oct. 06 | Mon | Linked Lists. Applications | 4, 5, 6, 7 | 7 | ||
| 20 | Oct. 08 | Wed | Linked Lists. Applications | 4, 5, 6, 7 | 7 | ||
| 21 | Oct. 10 | Fri | Queue and Stack | 4, 5, 6, 7 | quiz 6 | 7 | |
| 22 | Oct. 13 | Mon | Queue and Stack. Implementations | 20, 21, 22, 23 | PA 4 | 8 | |
| Midterm | |||||||
| 23 | Oct. 15 | Wed | Parsing and Evaluating Algebraic Expressions | 21, 23 | HW 2 | 8 | |
| 24 | Oct. 17 | Fri | Parsing and Evaluating Algebraic Expressions | 20 | quiz 7 | 8 | |
| 25 | Oct. 20 | Mon | Recursion and Stack | 20 | 9 | ||
| 26 | Oct. 22 | Wed | Exam 2 | 9 | |||
| 27 | Oct. 24 | Fri | Sorting Based on Recursion | 24 | 9 | ||
| 28 | Oct. 27 | Mon | Sorting Based on Recursion | 12, 20 | quiz 8 | 10 | |
| 29 | Oct. 29 | Wed | General Trees and Recursion | 24 | PA 5 | 10 | |
| 30 | Oct. 31 | Fri | Binary Search Trees. Implementations | 25 | 10 | ||
| Q-drop | Binary Tree Algorithms | 26, 28 | |||||
| 31 | Nov. 03 | Mon | Binary Tree Algorithms | 26, 28 | quiz 9 | 11 | |
| 32 | Nov. 05 | Wed | Heap Data Structure. Priority Queue | 27 | 11 | ||
| 33 | Nov. 07 | Fri | Heap Data Structure. Sorting Using Heap | 27 | 11 | ||
| 34 | Nov. 10 | Mon | Heap Data Structure. Sorting Using Heap | 27 | quiz 10 | 12 | |
| 35 | Nov. 12 | Wed | Graph Data Structure | 29, 30 | HW 3 | 12 | |
| 36 | Nov. 14 | Fri | Graph Data Structure. Implementation | 29, 30 | PA 6 | 12 | |
| 37 | Nov. 17 | Mon | Graph Algorithms | 29, 30 | quiz 11 | 13 | |
| 38 | Nov. 19 | Wed | Hash Tables | 29, 30 | 13 | ||
| 39 | Nov. 21 | Fri | Hash Tables | 19 | |||
| 40 | Nov. 24 | Mon | Exam 3 | 14 | |||
| 41 | Nov. 26 | Wed | Hash Tables | 19 | 14 | ||
| Nov. 28 | Fri | No classes | 14 | ||||
| 42 | Dec. 01 | Mon | Review (Friday schedule) | 15 | |||
| 43 | Dec. 09 | Tue | Final Exam for CPSC 211 (502, 503) 10:30am-12:30pm | 16 |