Main.Syllabus History
Hide minor edits - Show changes to markup
Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
(:cell:) Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
(:cell:) Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Office Hours:
TBD
TBD
Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Office Hours: TBD and by appt.
Office Hours: Monday 3-4pm; Thursday 11-12; and by appt.
Given your assignment, quiz, and exam grades you can calculate your final grade - there will be NO curve. I have also never curved exam grades. The letter grades will be calculated using the standard breakpoints:
Given your assignment, quiz, and exam grades you can calculate your final grade: there will be NO curve.
The letter grades will be calculated using the standard breakpoints:
Midterm: Nov 14th
Midterm: Oct 5th
W day: Oct 15th
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the department's
and the department's code of conduct.
and code of conduct, and CSU's honor pledge. We expect students to respect these. In particular:
You MAY discuss assignments but the work you turn in must be your own.
You MAY discuss assignments but the work you turn in must be your own.
(:cell:) TBD
Office: TBD
(:cell:) Zhisheng Xu <xuzs9298@gmail.com>
(:cell:)
(:cell:) MWF 2pm at Behavioral Sciences 107
Midterm: TBD
Final Exam: Dec. 13 11:50am-1:50pm
Midterm: Nov 14th
Final Exam: Dec 13 11:50am-1:50pm
Final Exam: May 9 11:50a-1:50p
Final Exam: Dec. 13 11:50am-1:50pm
Office Hours: Mon 10-11am, Fri 1-2pm, and by appt.
Office Hours: TBD and by appt.
(:cell:) Michael Hamilton
Office: 415
(:cell:) TBD
Office: TBD
Tue 12-2pm
Fri 11-1pm
TBD
TBD
(:cell:) 3:30pm CSB 130
(:cell:)
Midterm: March 8th in class
Final Exam: May 9 11:50a-1:50p
Midterm: TBD
Final Exam: May 9 11:50a-1:50p
Office Hours: TBA, and by appt.
Office Hours: Mon 10-11am, Fri 1-2pm, and by appt.
Assignments are graded by the TA. If you don’t like your grade, talk with him first, then to your instructor if you still disagree.
We will try our best to return assignments within 5 working days after the end of the late period. Exams will be returned within 5 working days of when they are taken. Grades will be posted on RamCT. Written assignments and exams will be returned in lecture.
Late assignments are to be submitted at the front office by the close of business the following day for a 10% late penalty.
Assignment will be returned within 5 working days of the end of the late period.
We do not accept late written assignments.
student information sheet.
Additionally, you are (beginning) computing professionals, so you should be familiar with the code of conduct of the Association for Computing Machinery (ACM), which is the professional society of our profession.
student information sheet and the department's code of conduct.
- If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
- If you plan to use a laptop or smart phone during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
(:cell:) TBA
(:cell:) Michael Hamilton
Midterm: TBA in class
Midterm: March 8th in class
| Assignments | 40% | Programing (25%) and written (15%) assignments |
| Assignments | 40% | Programing (25%) and written (15%) |
| Assignments | 40% | Programing (25%) and written (15%) assignments |
| Assignments | 40% | Programing (25%) and written (15%) assignments |
| Assignments | 40% | Programing and written assignments (25% for programming and 15% for written assignments) |
| Assignments | 40% | Programing (25%) and written (15%) assignments |
style="border-collapse:collapse; margin-left: 0.3ex;"
margin-left: 0.3ex;"
style="border-collapse:collapse; margin-left: 0.8ex;"
style="border-collapse:collapse; margin-left: 0.3ex;"
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
Quizzes will typically be given every other week. No makeups will be given for quizzes, but one quiz grade will be dropped.
| Quizzes | 10% |
| Quizzes | 10% | Typically given every other week. No makeups are possible, but one quiz grade will be dropped. |
Given your assignment, quiz, and exam grades you can calculate your final grade - there will be NO curve. I have also never curved exam grades. The letter grades will be calculated using the standard breakpoints:
| Letter Grade | Points |
|---|---|
| A | ≥90 |
| B | ≥80 |
| C | ≥70 |
| D | ≥60 |
| F | <60 |
| I won’t cut higher than this, but I may cut lower. | |
Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.
Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.
Final Exam: May 9 11:50a-1:50p
Final Exam: May 9 11:50a-1:50p
| Assignments | 40% | Programing and written assignments |
| (25% for programming and 15% for written assignments) |
| Assignments | 40% | Programing and written assignments (25% for programming and 15% for written assignments) |
Midterm: March 10th during class
Final Exam: May 10th 6:20pm-8:20pm
Midterm: TBA in class
Final Exam: May 9 11:50a-1:50p
Course withdrawal date: March 21st
| (25% for programming and 15% for written assignments) |
Office Hours: Wed 11-12 and Fri 10-11, and by appt.
Office Hours: TBA, and by appt.
(:cell:) Andrew M Sutton
(:cell:) TBA
Tue 11:00am - 1:00pm CSB 120
Thu 1:00pm - 3:00pm CSB 120
TBA
TBA
- Network flow algorithms
- NP-completeness
- Local search algorithms
Office Hours: Wed 11-12 (except for weeks with a faculty meeting) and Fri 10-11, both at CSB 215, and by appt.
Office Hours: Wed 11-12 and Fri 10-11, and by appt.
code of conduct for the primary professional society, the Association for Computing Machinery (ACM).
code of conduct of the Association for Computing Machinery (ACM), which is the professional society of our profession.
Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.
Late assignments are to be submitted at the front office by the close of business the following day for a 10% late penalty.
Office Hours: TBA
Office Hours: Wed 11-12 (except for weeks with a faculty meeting) and Fri 10-11, both at CSB 215, and by appt.
- Implementation and analysis of priority queues
Midterm: TBD
Midterm: March 10th during class
Office Hours: TBA
Office Hours:
Tue 11:00am - 1:00pm CSB 120
Thu 1:00pm - 3:00pm CSB 120
Office Hours: TBA
(:cellnr:) TA
(:cell:) Andrew M Sutton
Office: 242
(:cell:) 3:30pm
(:cell:) 3:30pm CSB 130
Final Exam: TBD
Final Exam: May 10th 6:20pm-8:20pm
Course withdrawal date: TBD
Course withdrawal date: March 21st
Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.
Quizzes will typically be given every other week. No makeups will be given for quizzes, but one quiz grade will be dropped.
- Introduction: How to formulate a problem, algorithm definitions,
what it means for an algorithm to be correct, proof of algorithm correctness, with introductory examples.
- Analysis of algorithm efficiency,
Asymptotic growth rates, and some common bounds (constant, logarithmic, linear, polynomial, exponential) Implementation and comparison of performance of representative problems.
- Introduction: How to formulate a problem, algorithm definitions, what it means for an algorithm to be correct, proof of algorithm correctness, with introductory examples.
- Analysis of algorithm efficiency: asymptotic growth rates, and some common bounds (constant, logarithmic, linear, polynomial, exponential).
- Graph Algorithms.
Implementation of a dynamic graph abstract data type that supports efficient insertion and deletion of vertices, lookup of vertex in-degrees and out-degrees, iterating over in-neighbors and out-neighbors. Implementation of graph algorithms like topological sort.
- Graph Algorithms. Implementation of a dynamic graph abstract data type that supports efficient insertion and deletion of vertices, lookup of vertex in-degrees and out-degrees, iterating over in-neighbors and out-neighbors. Implementation of graph algorithms like topological sort.
At the end of the course, students will be well-practiced in programming techniques for the implementation of sophisticated algorithms. The course will contain a significant theoretical component - proving algorithm correctness and evaluation of their efficiency.
- Practice the implementation of sophisticated algorithms.
- Learn a variety of algorithmic techniques.
- Expose students to theoretical concepts in algorithm design and analysis: proving algorithm correctness and evaluation of algorithm efficiency.
(:table border=0 cellpadding=0 cellspacing=10:) (:cellnr:) Instructor
(:table border=0 cellpadding=0 cellspacing=0:) (:cellnr:) Instructor
(:cellnr:) Lecture
(:cellnr:) Lecture
(:table border=0 cellpadding=25 cellspacing=0:)
(:table border=0 cellpadding=0 cellspacing=10:)
(:table border=0 cellpadding=5 cellspacing=0:)
(:table border=0 cellpadding=25 cellspacing=0:)
Office: 448 (:cellnr:) (:cell:) Office Hours: TBA
Office: 448
Office Hours: TBA
(:table border=0 cellpadding=0 cellspacing=0:)
(:table border=0 cellpadding=5 cellspacing=0:)
(:cell:) Asa Ben-Hur (:cellnr:) (:cell:) Office: 448
(:cell:) Asa Ben-Hur
Office: 448
(:cellnr:)Instructor (:cell:) Asa Ben-Hur (:cellnr:) (:cell:) Office: 448 (:cellnr:) (:cell:) Office Hours: TBA (:cellnr:)Lecture (:cell:) 3:30pm
(:cellnr:) Instructor (:cell:) Asa Ben-Hur (:cellnr:) (:cell:) Office: 448 (:cellnr:) (:cell:) Office Hours: TBA (:cellnr:) Lecture (:cell:) 3:30pm
(:table border=0 cellpadding=5 cellspacing=0:)
(:table border=0 cellpadding=0 cellspacing=0:)
(:headnr:)Instructor (:cell:) Asa Ben-Hur
(:cellnr:)Instructor (:cell:) Asa Ben-Hur
(:headnr:)Lecture (:cell:) 3:30pm
(:cellnr:)Lecture (:cell:) 3:30pm
(:table border=1 cellpadding=5 cellspacing=0:)
(:table border=0 cellpadding=5 cellspacing=0:)
(:tableend:)
| Instructor | Asa Ben-Hur Office: 448 Office Hours: TBA |
| Lecture | 3:30pm |
(:table border=1 cellpadding=5 cellspacing=0:) (:headnr:)Instructor (:cell:) Asa Ben-Hur (:cellnr:) (:cell:) Office: 448 (:cellnr:) (:cell:) Office Hours: TBA (:headnr:)Lecture (:cell:) 3:30pm
| Instructor | Asa Ben-Hur       Office: 448 Office Hours: TBA |
| Instructor | Asa Ben-Hur Office: 448 Office Hours: TBA |
Office: 448 Office Hours: TBA||
      Office: 448 Office Hours: TBA||
Office: 448 Office Hours: TBA
Office: 448 Office Hours: TBA||
Office: 448
Office Hours: TBA
Office: 448 Office Hours: TBA
Office Hours: TBA
||
Office Hours: TBA
Office Hours: TBA ||
Office Hours: TBA
| Instructor | Asa Ben-Hur Office: 448 Office Hours: TBA |
| Instructor | Asa Ben-Hur Office: 448 Office Hours: TBA |
Important Dates
Midterm: TBD
Final Exam: TBD
All exams are in the same room as the lecture.
Course withdrawal date: TBD
Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.
Important Dates
Midterm: 3/12 9am-11am
Final Exam: 5/10 9:10am-11:10am
Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.
Late and Makeup Policy
Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.
Important Dates
Midterm: TBD
Final Exam: TBD
All exams are in the same room as the lecture.
Course withdrawal date: TBD
Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.
Late and Makeup Policy
Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.
No make-ups will be given for missed quizzes.
Programming assignments are to be submitted electronically using the checkin program. Always check the assignment page for due dates. Late assignments submitted within 48 hours of the time required (or otherwise specified) will receive a 20% late penalty. Electronic submission is closed 48 hours after assignments are due (or as otherwise specified); students not having submitted programs receive an automatic zero on the assignment.
Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.
Assignment will be returned within 5 working days of the end of the late period.
Important Dates
Midterm: TBD
Final Exam: TBD
All exams are in the same room as the lecture.
Course withdrawal date: TBD
Professional Conduct
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the student information sheet.
Additionally, you are (beginning) computing professionals, so you should be familiar with the code of conduct for the primary professional society, the Association for Computing Machinery (ACM).
You MAY discuss assignments but the work you turn in must be your own.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards this end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, TAs and tutors). In particular:
- Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
- If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
- Laptops and other personal computing devices must be shut during exams and quizzes.
Prerequisites:
Bachelor's degree in the life sciences, or permission of instructor
J. Kleinberg and E. Tardos, Algorithm Design, First Edition, Addison-Wesley, (2005)
| Assignments | 45% | Programing and written assignments |
| Assignments | 40% | Programing and written assignments |
| Quizes | 10% |
| Final Exam | 35% | Comprehensive |
| Final Exam | 30% | Comprehensive |
Office Hours: By appt. ||
| Lecture | 9-9:50 MWF in room 425 in the computer science building |
Office Hours: TBA ||
| Lecture | 3:30pm |
The course will provide the students with skills in programming and the ability to use and understand third-party programs and algorithms.
The hands-on lab component of the course will consist of programming tasks centered on analysis of biological data, mainly DNA and protein sequences, consisting of tasks such as processing files with sequence data, manipulating and computing various properties of sequences (e.g. nucleotide composition), simulating population/sequence evolution, and simple motif searches.
At the end of the course, students will be well-practiced in programming techniques for the implementation of sophisticated algorithms. The course will contain a significant theoretical component - proving algorithm correctness and evaluation of their efficiency.
- Introduction: steps in creating a computer program.
- Simple python programs: Variables, assignment statements, arithmetic expressions, input and output statements.
- Control flow statements: if statements, while statements, for statements.
- Functions: general concept, declaration and calls, parameters.
- Simple data structures: arrays (implemented as Python lists), strings
- Files: reading and writing text files.
- Using python objects.
- Writing python objects and object oriented programming.
- Using python packages: numpy, matplotlib and BioPython.
- Algorithms and problem solving techniques – the course presents at least one sorting algorithm in detail and introduces students to related topics such as run-time analysis.
- Program development – the process of writing longer programs by dividing tasks into methods and classes.
- Introduction: How to formulate a problem, algorithm definitions,
what it means for an algorithm to be correct, proof of algorithm correctness, with introductory examples.
- Analysis of algorithm efficiency,
Asymptotic growth rates, and some common bounds (constant, logarithmic, linear, polynomial, exponential) Implementation and comparison of performance of representative problems.
- Implementation and analysis of priority queues
- Graph Algorithms.
Implementation of a dynamic graph abstract data type that supports efficient insertion and deletion of vertices, lookup of vertex in-degrees and out-degrees, iterating over in-neighbors and out-neighbors. Implementation of graph algorithms like topological sort.
- Divide-and-conquer algorithms.
- Greedy Algorithms
- Dynamic programming
- Network flow algorithms
Midterm: TBD
Final Exam:
Course withdrawal date:
Midterm: 3/12 9am-11am
Final Exam: 5/10 9:10am-11:10am
A student completing this course should be able to:
The course will provide the students with skills in programming and the ability to use and understand third-party programs and algorithms.
The hands-on lab component of the course will consist of programming tasks centered on analysis of biological data, mainly DNA and protein sequences, consisting of tasks such as processing files with sequence data, manipulating and computing various properties of sequences (e.g. nucleotide composition), simulating population/sequence evolution, and simple motif searches.
| Lecture | 9-9:50 MWF in room 425 in the computer science building |
| Assignments | 40% | Programing and written assignments |
| Quizzes | 10% | |
| Recitations | 10% | Attending and completing labs |
| Midterms (2) | 20% | |
| Final Exam | 20% | Comprehensive |
Note: in order to pass the class you need to have a passing grade for the average of the exams. There will be a programming exam as part of the final exam
Assignments will be done individually.
Quizzes will typically be given during one lecture class each week, except those weeks in which a midterm exam is being given. No makeups will be given for quizzes, but two quiz grades will be dropped.
Class participation is strongly encouraged. Students who ask or answer a question during lecture will be given a chit (maximum of one per student per class session). Three chits earned translate into 10 additional points on the next quiz.
The assignment of letter grades will be made as follows:
| Letter Grade | Point Range |
| A | 90-100 |
| B | 80-89.9 |
| C | 70-79.9 |
| D | 60-69.9 |
| F | below 60 |
NOTE: We will NOT cut higher than these points (but may cut lower).
| Assignments | 45% | Programing and written assignments |
| Midterm | 20% | |
| Final Exam | 35% | Comprehensive |
No make-ups will be given for missed quizzes.
Programming assignments are to be submitted electronically using the checkin program. Always check the assignment page for due dates. Late assignments submitted within 48 hours of the time required (or otherwise specified) will receive a 20% late penalty. Electronic submission is closed 48 hours after assignments are due (or as otherwise specified); students not having submitted programs receive an automatic zero on the assignment.
Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.
Assignment will be returned within 5 working days of the end of the late period.
First Midterm: TBD
Second Midterm: TBD
Final Exam: Dec 16th 9:10am-11:10am
All exams are in the same room as the lecture.
Midterm: TBD
Final Exam:
Professional Conduct
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the student information sheet.
Additionally, you are (beginning) computing professionals, so you should be familiar with the code of conduct for the primary professional society, the Association for Computing Machinery (ACM).
You MAY discuss assignments but the work you turn in must be your own.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards this end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, TAs and tutors). In particular:
- Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
- If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
- Laptops and other personal computing devices must be shut during exams and quizzes.
Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm ||
| TAs | Nathan Lindzey (lindzey at cs dot colostate dot edu) Office: 235 Off hrs: Tue 3-5pm, Thu 3-5pm (in the Linux lab) Erin Nagoshi (nagoshi at cs dot colostate dot edu) Office: 235 Office hrs: Tue 2-3pm, Wed 1-2pm (in the Linux lab) |
| Tutors | Tue 3-5pm (John Herndon) 6:30-9:30pm (Ryan Moore) Wed 1-3pm (John Herndon) 2-3 (Alex Norton) Thu 2-3pm (Alex Norton) 6:30-9:30pm (Ryan Moore) Fri 1-3pm (Alex Norton) Sun 3-5pm (Alex Norton) |
| Lecture | 9:30-10:45pm TR at Micro A 101 |
| Recitation | Wed 5:00-6:50pm Thu 1:00-2:50pm Thu 5:00-6:40pm Fri 12:00-1:50pm Fri 2:00-3:50pm |
| All recitations are in comsc 215 |
Office Hours: By appt. ||
- Implement object oriented programs and understand the underlying principles such as encapsulation, abstraction and reuse.
- Design and build more complex programs (multiple files and multiple objects) that solve non-trivial problems.
- Relate concepts from theory to programming and architecture, such as how recursion is implemented in the system, and when it is an appropriate programming technique.
Topics
- Objects: creating, instantiating, basic operations
- Inheritance, interfaces, exceptions, polymorphism
- Induction and recursion
- Mechanics of recursive programs; method invocation and activation records
- Assertions
- File IO
- Sorting
- Arrays, lists (dynamic arrays), and binary search
- Counting
- Binding and scope
- Parameter passing
- Graphical User Interfaces
- Linked lists
Course Outline
- Introduction: steps in creating a computer program.
- Simple python programs: Variables, assignment statements, arithmetic expressions, input and output statements.
- Control flow statements: if statements, while statements, for statements.
- Functions: general concept, declaration and calls, parameters.
- Simple data structures: arrays (implemented as Python lists), strings
- Files: reading and writing text files.
- Using python objects.
- Writing python objects and object oriented programming.
- Using python packages: numpy, matplotlib and BioPython.
- Algorithms and problem solving techniques – the course presents at least one sorting algorithm in detail and introduces students to related topics such as run-time analysis.
- Program development – the process of writing longer programs by dividing tasks into methods and classes.
CS160 or CS153 with a C or better; M124, M126 (both with a C or better).
Textbooks:
Data Abstraction and Problem Solving with Java: Walls & Mirrors, 2nd edition
Frank M. Carrano and Janet J. Prichard
Discrete Mathematics and Its Applications, Sixth Edition
Kenneth Rosen
Your cs160 Java book:
Java: an introduction to problem wolving and programming, Fifth edition
Walter Savitch and Frank M. Carrano
Bachelor's degree in the life sciences, or permission of instructor
Textbook:
Sun 3-5pm (Alex Norton
Sun 3-5pm (Alex Norton)
Off hrs: Tue 3-5pm, Thu 3-5pm (in the Linux lab)
| Tutors | Tue 3-5pm (John Herndon) 6-9pm (Ryan Moore) |
| Tutors | Tue 3-5pm (John Herndon) 6:30-9:30pm (Ryan Moore) |
Thu 2-3pm (Alex Norton) 6-9pm (Ryan Moore)
Thu 2-3pm (Alex Norton) 6:30-9:30pm (Ryan Moore)
| Lecture | 9:30-10:45pm TR at Micro A 101 |
| Lecture | 9:30-10:45pm TR at Micro A 101 |
| Tutors | TBD |
| Tutors | Tue 3-5pm (John Herndon) 6-9pm (Ryan Moore) Wed 1-3pm (John Herndon) 2-3 (Alex Norton) Thu 2-3pm (Alex Norton) 6-9pm (Ryan Moore) Fri 1-3pm (Alex Norton) Sun 3-5pm (Alex Norton |
Office: 235
Office: 235
Office hrs: Tue 2-3pm, Wed 1-2pm (in the Linux lab)
Office Hours: TBD ||
Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm ||
| TAs | TBD |
| TAs | Nathan Lindzey (lindzey at cs dot colostate dot edu) Office: 235 Erin Nagoshi (nagoshi at cs dot colostate dot edu) Office: 235 |
| Lecture | 12:30-1:45pm TR at Micro A 101 |
| Lecture | 9:30-10:45pm TR at Micro A 101 |
| Recitation | Wed 5:00-6:40pm Thu 1:00-2:40pm |
| Recitation | Wed 5:00-6:50pm Thu 1:00-2:50pm |
Fri 12:00-1:40pm
Thu 2:00-3:40pm ||
Fri 12:00-1:50pm
Fri 2:00-3:50pm ||
Course objective
Course objectives
Data Abstraction and Problem Solving with Java, 2nd edition
Frank Carrano and Janet Prichard
Data Abstraction and Problem Solving with Java: Walls & Mirrors, 2nd edition
Frank M. Carrano and Janet J. Prichard
Your cs160 Java book:
Course Description
CS200 revisits and extends the principles of programming and discrete math that are introduced in CS161 and applies them to the development, analysis and implementation of data structures and efficient software. The course is taught using the Java language and emphasizes an object oriented approach to data structures. Specific topics in data structures/algorithms include advanced sorting, queues, stacks, hashing, trees, and graphs. Complementary topics from theory include recurrence relations, trees, and graphs. The course requires larger programs and team programming.
Course objective
A student completing this course should be able to:
- Implement object oriented programs and understand the underlying principles such as encapsulation, abstraction and reuse.
- Design and build more complex programs (multiple files and multiple objects) that solve non-trivial problems.
- Relate concepts from theory to programming and architecture, such as how recursion is implemented in the system, and when it is an appropriate programming technique.
- Arrays, lists, and binary search
- Arrays, lists (dynamic arrays), and binary search
- Parameter Passing
- Parameter passing
Binding and scoping
- Binding and scope
Graphical User Interfaces
- Graphical User Interfaces
CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
CS160 or CS153 with a C or better; M124, M126 (both with a C or better).
Thu 2:00-3:40pm ||
Thu 2:00-3:40pm ||
- Linear Data Structures: Stacks and Queues
- Advanced Sorting
- Trees
- Graphs
- Hash Tables
- Computational Complexity
- Objects: creating, instantiating, basic operations
- Inheritance, interfaces, exceptions, polymorphism
- Induction and recursion
- Mechanics of recursive programs; method invocation and activation records
- Assertions
- File IO
- Sorting
- Arrays, lists, and binary search
- Counting
Binding and scoping
- Parameter Passing
Graphical User Interfaces
- Linked lists
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
We will also use:
Data Abstraction and Problem Solving with Java, 2nd edition
Frank Carrano and Janet Prichard
Java: an introduction to problem wolving and programming, Fifth edition
Walter Savitch and Frank M. Carrano
| Recitations | 5% | Attending and completing labs |
| Recitations | 10% | Attending and completing labs |
| Final Exam | 25% | Comprehensive |
| Final Exam | 20% | Comprehensive |
Assignments will be done individually, except selected programming assignments
There will be a programming exam as part of the final exam
Assignments will be done individually.
First Midterm: 2/25/09
Second Midterm: 4/8/09
Final Exam: May 14th 7am-9am
First Midterm: TBD
Second Midterm: TBD
Final Exam: Dec 16th 9:10am-11:10am
Course withdrawal date: 3/23/09
Course withdrawal date:
| TAs | TBD |
| TAs | TBD |
| Recitation | Wed 5:00-6:40pm |
| Thu 1:00-2:40pm | |
| Thu 5:00-6:40pm | |
| Fri 12:00-1:40pm | |
| Thu 2:00-3:40pm |
| Recitation | Wed 5:00-6:40pm Thu 1:00-2:40pm Thu 5:00-6:40pm Fri 12:00-1:40pm Thu 2:00-3:40pm |
Office: 448 in the new computer science building
Office Hours: Tue 10-11, Wed 10-11:30 ||
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| Office: Computer Science BLDG 245 | |
| Office Hours: Tue 9-11am, Wed 10-12pm in Room 120 (1st floor CS Lab) | |
| Nick Parrish email: njamesp (at) gmail (dot) com | |
| Office: Computer Science BLDG 435 | |
| Office Hours: Thu 3-5pm in Room 120 (1st floor CS Lab) |
Office: 448
Office Hours: TBD ||
| TAs | TBD |
| Tutors | Monday 3-6pm (Zach Hoekstra) |
| Tuesday 11am-1pm (Zach Hoekstra) 3-4pm (Erin Nagoshi) | |
| Wednesday 11-1pm (Erin Nagoshi) | |
| Thursday 11am-7pm (Zach Hoekstra, Erin Nagoshi, Ryan Moore) | |
| Saturday 3-6pm (Erin Nagoshi) | |
| Sunday 4-7pm (John Herndon) | |
| All tutoring is in room 120 in the new building | |
| Lecture | MWF 2-3pm at Wagar 231 |
| Tutors | TBD |
| Lecture | 12:30-1:45pm TR at Micro A 101 |
| Recitation | Mon 5:00-6:40pm |
| Tue 5:00-6:40 | |
| Thu 6:00-7:40pm |
| All recitations are in room 215 in the new computer science building |
| Recitation | Wed 5:00-6:40pm |
| Thu 1:00-2:40pm | |
| Thu 5:00-6:40pm | |
| Fri 12:00-1:40pm | |
| Thu 2:00-3:40pm |
| All recitations are in comsc 215 |
Office Hours: Tue 10-11, Wed 10-11:30
Office Hours: Tue 10-11, Wed 10-11:30 ||
| Instructor | Asa Ben-Hur |
| Office: 448 in the new computer science building | |
| Office Hours: Tue 10-11, Wed 10-11:30 |
| Instructor | Asa Ben-Hur Office: 448 in the new computer science building Office Hours: Tue 10-11, Wed 10-11:30 |
| Tuesday 11am-1pm (Zach Hoekstra) 3-5pm (Erin Nagoshi) | |
| Wednesday 3-5pm (Erin Nagoshi) |
| Tuesday 11am-1pm (Zach Hoekstra) 3-4pm (Erin Nagoshi) | |
| Wednesday 11-1pm (Erin Nagoshi) |
| Saturday 3-6pm (Erin Nagoshi) | |
| Sunday 4-7pm (John Herndon) |
| All tutoring is in room 120 in the new building |
| Tutors | |
| Monday 3-6pm (Zach Hoekstra) |
| Tutors | Monday 3-6pm (Zach Hoekstra) |
| Monday 3-6pm (Zach Hoekstra) | |
| Tuesday 11am-1pm (Zach Hoekstra) 3-5pm (Erin Nagoshi) | |
| Wednesday 3-5pm (Erin Nagoshi) | |
| Thursday 11am-7pm (Zach Hoekstra, Erin Nagoshi, Ryan Moore) |
| Office Hours: Tue 9-11am, Wednesday 10-12pm in Room 120 (1st floor CS Lab) |
| Office Hours: Tue 9-11am, Wed 10-12pm in Room 120 (1st floor CS Lab) |
| Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 (1st floor CS Lab) |
| Office Hours: Tue 9-11am, Wednesday 10-12pm in Room 120 (1st floor CS Lab) |
| Office: | |
| Office Hours: |
| Office: Computer Science BLDG 435 | |
| Office Hours: Thu 3-5pm in Room 120 (1st floor CS Lab) |
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| Office: 245 |
| Office: Computer Science BLDG 245 |
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| TAs | Mike Hamiton email: hamiltom (at) cs (dot) colostate (dot) edu |
| TAs | Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu |
| Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 |
| Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 (1st floor CS Lab) |
| Office: | |
| Office Hours: Tue 9-11am, Thu 10-12pm |
| Office: 245 | |
| Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 |
| Office Hours: |
| Office Hours: Tue 9-11am, Thu 10-12pm |
| Office Hours: TBA |
| Office Hours: Tue 10-11, Wed 10-11:30 |
| Office: |
| Office: |
| Labs | 5% | Attending and completing labs |
| Recitations | 5% | Attending and completing labs |
| Midterms (2) | 25% | 1st Midterm: 12% 2nd Midterm: 13% |
| Final Exam | 20% | Comprehensive |
| Midterms (2) | 20% | |
| Final Exam | 25% | Comprehensive |
| Labs | 5% | Attending and completing lab assignments |
| Labs | 5% | Attending and completing labs |
First Midterm: TBA
Second Midterm: TBA
First Midterm: 2/25/09
Second Midterm: 4/8/09
| Assignments | 45% | Programing and written assignments |
| Quizzes | 10% |
| Assignments | 40% | Programing and written assignments |
| Quizzes | 10% | |
| Labs | 5% | Attending and completing lab assignments |
Final Exam: TBA
All midterm exams are in the same room as the lecture.
Final Exam: May 14th 7am-9am
All exams are in the same room as the lecture.
Course withdrawal date:
Course withdrawal date: 3/23/09
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
We will also use:
CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
Note: in order to pass the class you need to have a passing grade for the average of the exams.
| Office #448 in the new computer science building |
| Office: 448 in the new computer science building |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| TAs | Mike Hamiton email: hamiltom (at) cs (dot) colostate (dot) edu |
- Prerequisites:**
- Prerequisites:**
Prerequisites:
| All recitations are in COMSC 215 |
| All recitations are in room 215 in the new computer science building |
- Prerequisites:**
- Prerequisites:**
Textbooks:
| Data Abstraction and Problem Solving with Java, 2nd edition | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition Frank Carrano and Janet Prichard | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition | Attach:walls.jpg Δ |
| Data Abstraction and Problem Solving with Java, 2nd edition | Attach:walls.jpg Δ |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| email: (at) cs (dot) colostate (dot) edu | |
| Office Hours: Tue 10am - 12pm |
| Lecture | MWF 2-3pm at Wagar 231 |
| Lecture | MWF 2-3pm at Wagar 231 |
| Office #448 in the new computer science building | |
| Office Hours: TBA |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| Office #448 in the new computer science building | |
| Office Hours: TBA | |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| email: (at) cs (dot) colostate (dot) edu |
| email: (at) cs (dot) colostate (dot) edu |
Who, Where, When
| Instructor | Asa Ben-Hur |
| Office #448 in the new computer science building | |
| Office Hours: TBA |
| TAs | email: (at) cs (dot) colostate (dot) edu |
| Office Hours: | |
| email: (at) cs (dot) colostate (dot) edu | |
| Office Hours: Tue 10am - 12pm | |
| Nick Parrish email: njamesp (at) gmail (dot) com | |
| Office Hours: |
| Tutors | |
| Lecture | MWF 2-3pm at Wagar 231 |
| Recitation | Mon 5:00-6:40pm |
| Tue 5:00-6:40 | |
| Thu 6:00-7:40pm |
| All recitations are in COMSC 215 |
Course Description
CS200 revisits and extends the principles of programming and discrete math that are introduced in CS161 and applies them to the development, analysis and implementation of data structures and efficient software. The course is taught using the Java language and emphasizes an object oriented approach to data structures. Specific topics in data structures/algorithms include advanced sorting, queues, stacks, hashing, trees, and graphs. Complementary topics from theory include recurrence relations, trees, and graphs. The course requires larger programs and team programming.
Topics
- Linear Data Structures: Stacks and Queues
- Advanced Sorting
- Trees
- Graphs
- Hash Tables
- Computational Complexity
CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
| Data Abstraction and Problem Solving with Java, 2nd edition | Attach:walls.jpg Δ |
Discrete Mathematics and Its Applications, Sixth Edition
Kenneth Rosen
Grading:
| Assignments | 45% | Programing and written assignments |
| Quizzes | 10% | |
| Midterms (2) | 25% | 1st Midterm: 12% 2nd Midterm: 13% |
| Final Exam | 20% | Comprehensive |
Assignments will be done individually, except selected programming assignments
Quizzes will typically be given during one lecture class each week, except those weeks in which a midterm exam is being given. No makeups will be given for quizzes, but two quiz grades will be dropped.
Class participation is strongly encouraged. Students who ask or answer a question during lecture will be given a chit (maximum of one per student per class session). Three chits earned translate into 10 additional points on the next quiz.
The assignment of letter grades will be made as follows:
| Letter Grade | Point Range |
| A | 90-100 |
| B | 80-89.9 |
| C | 70-79.9 |
| D | 60-69.9 |
| F | below 60 |
NOTE: We will NOT cut higher than these points (but may cut lower).
Late and Makeup Policy
Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.
No make-ups will be given for missed quizzes.
Programming assignments are to be submitted electronically using the checkin program. Always check the assignment page for due dates. Late assignments submitted within 48 hours of the time required (or otherwise specified) will receive a 20% late penalty. Electronic submission is closed 48 hours after assignments are due (or as otherwise specified); students not having submitted programs receive an automatic zero on the assignment.
Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.
Assignment will be returned within 5 working days of the end of the late period.
Important Dates
First Midterm: TBA
Second Midterm: TBA
Final Exam: TBA
All midterm exams are in the same room as the lecture.
Course withdrawal date:
Professional Conduct
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the student information sheet.
Additionally, you are (beginning) computing professionals, so you should be familiar with the code of conduct for the primary professional society, the Association for Computing Machinery (ACM).
You MAY discuss assignments but the work you turn in must be your own.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards this end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, TAs and tutors). In particular:
- Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
- If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
- Laptops and other personal computing devices must be shut during exams and quizzes.
