Main.Syllabus History

Hide minor edits - Show changes to markup

Changed lines 10-11 from:
 Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
to:
 Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Changed line 10 from:

(:cell:) Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm

to:
 Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm
Changed line 10 from:

Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm

to:

(:cell:) Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm

Changed lines 10-12 from:

Office Hours:
  TBD
  TBD

to:

Office Hours: Thursday 3-5pm; Friday 1-2pm, 4-5pm

Changed line 7 from:

Office Hours: TBD and by appt.

to:

Office Hours: Monday 3-4pm; Thursday 11-12; and by appt.

Changed lines 64-67 from:

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:

to:

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:

Changed lines 45-47 from:

Midterm: Nov 14th

to:

Midterm: Oct 5th

W day: Oct 15th

Changed line 96 from:

All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the

to:

All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the department's

Changed lines 98-99 from:

and the department's code of conduct.

to:

and code of conduct, and CSU's honor pledge. We expect students to respect these. In particular:

Changed line 101 from:

You MAY discuss assignments but the work you turn in must be your own.

to:

You MAY discuss assignments but the work you turn in must be your own.

Changed lines 9-10 from:

(:cell:) TBD
Office: TBD

to:

(:cell:) Zhisheng Xu <xuzs9298@gmail.com>

Changed line 14 from:

(:cell:)

to:

(:cell:) MWF 2pm at Behavioral Sciences 107

Changed lines 46-48 from:

Midterm: TBD

Final Exam: Dec. 13 11:50am-1:50pm

to:

Midterm: Nov 14th

Final Exam: Dec 13 11:50am-1:50pm

Changed lines 48-49 from:

Final Exam: May 9 11:50a-1:50p

to:

Final Exam: Dec. 13 11:50am-1:50pm

Changed line 113 from:


to:


Changed line 7 from:

Office Hours: Mon 10-11am, Fri 1-2pm, and by appt.

to:

Office Hours: TBD and by appt.

Changed lines 9-10 from:

(:cell:) Michael Hamilton
Office: 415

to:

(:cell:) TBD
Office: TBD

Changed lines 12-13 from:

  Tue 12-2pm
  Fri 11-1pm

to:

  TBD
  TBD

Changed line 15 from:

(:cell:) 3:30pm CSB 130

to:

(:cell:)

Changed lines 46-49 from:

Midterm: March 8th in class

Final Exam: May 9 11:50a-1:50p

to:

Midterm: TBD

Final Exam: May 9 11:50a-1:50p

Deleted line 113:
Changed line 7 from:

Office Hours: TBA, and by appt.

to:

Office Hours: Mon 10-11am, Fri 1-2pm, and by appt.

Changed lines 12-13 from:

  TBA
  TBA

to:

  Tue 12-2pm
  Fri 11-1pm

Changed lines 74-77 from:
to:

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.

Changed lines 90-95 from:

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.

to:

We do not accept late written assignments.

Changed lines 98-103 from:

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.

to:

student information sheet and the department's code of conduct.

Changed line 110 from:
  • 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.
to:
  • 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.
Changed line 10 from:

Office: 242

to:

Office: 415

Changed line 9 from:

(:cell:) TBA

to:

(:cell:) Michael Hamilton

Changed line 46 from:

Midterm: TBA in class

to:

Midterm: March 8th in class

Changed line 56 from:
to:
Changed line 58 from:
Assignments    40%Programing (25%) and written (15%) assignments
to:
Assignments    40%Programing (25%) and written (15%)
Changed lines 56-57 from:
to:
Changed line 57 from:
to:
Changed line 58 from:
Assignments    40%Programing (25%) and written (15%) assignments
to:
Assignments    40%Programing (25%) and written (15%) assignments
Changed lines 57-60 from:
Assignments    40%Programing and written assignments
(25% for programming and 15% for written assignments)
to:
Assignments    40%Programing (25%) and written (15%) assignments
Changed line 58 from:
  style="border-collapse:collapse; margin-left: 0.3ex;"
to:
   margin-left: 0.3ex;"
Changed line 58 from:
  style="border-collapse:collapse; margin-left: 0.8ex;"
to:
  style="border-collapse:collapse; margin-left: 0.3ex;"
Changed lines 57-58 from:
to:
Changed line 57 from:
to:
Changed lines 61-62 from:
Quizzes10%Typically given every other week. No makeups are possible,
but one quiz grade will be dropped.
to:
Quizzes10%Typically given every other week. No makeups are possible, but one quiz grade will be dropped.
Changed lines 61-62 from:
Quizzes10%Typically given every other week. No makeups are possible,
but one quiz grade will be dropped.
to:
Quizzes10%Typically given every other week. No makeups are possible,
but one quiz grade will be dropped.
Changed line 61 from:
Quizzes10%Typically given every other week. No makeups are possible, but one quiz grade will be dropped.
to:
Quizzes10%Typically given every other week. No makeups are possible,
but one quiz grade will be dropped.
Deleted lines 75-76:

Quizzes will typically be given every other week. No makeups will be given for quizzes, but one quiz grade will be dropped.

Changed line 61 from:
Quizzes10%
to:
Quizzes10%Typically given every other week. No makeups are possible, but one quiz grade will be dropped.
Changed line 57 from:
to:
Added lines 57-58:
Changed line 64 from:
to:
Changed lines 63-73 from:
to:

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 GradePoints
A≥90
B≥80
C≥70
D≥60
F<60
I won’t cut higher than this, but I may cut lower.
Changed line 81 from:

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.

to:

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.

Changed line 48 from:

Final Exam: May 9 11:50a-1:50p

to:

Final Exam: May 9 11:50a-1:50p

Changed lines 57-58 from:
Assignments    40%Programing and written assignments
  (25% for programming and 15% for written assignments)
to:
Assignments    40%Programing and written assignments
(25% for programming and 15% for written assignments)
Changed lines 46-49 from:

Midterm: March 10th during class

Final Exam: May 10th 6:20pm-8:20pm

to:

Midterm: TBA in class

Final Exam: May 9 11:50a-1:50p

Changed lines 52-53 from:

Course withdrawal date: March 21st

to:
Added line 58:
  (25% for programming and 15% for written assignments)
Changed line 7 from:

Office Hours: Wed 11-12 and Fri 10-11, and by appt.

to:

Office Hours: TBA, and by appt.

Changed line 9 from:

(:cell:) Andrew M Sutton

to:

(:cell:) TBA

Changed lines 12-13 from:

  Tue 11:00am - 1:00pm CSB 120
  Thu 1:00pm - 3:00pm CSB 120

to:

  TBA
  TBA

Changed lines 35-36 from:
  • Network flow algorithms
to:
  • NP-completeness
  • Local search algorithms
Changed line 7 from:

Office Hours: Wed 11-12 (except for weeks with a faculty meeting) and Fri 10-11, both at CSB 215, and by appt.

to:

Office Hours: Wed 11-12 and Fri 10-11, and by appt.

Changed lines 92-93 from:

code of conduct for the primary professional society, the Association for Computing Machinery (ACM).

to:

code of conduct of the Association for Computing Machinery (ACM), which is the professional society of our profession.

Changed line 78 from:

Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.

to:

Late assignments are to be submitted at the front office by the close of business the following day for a 10% late penalty.

Changed line 7 from:

Office Hours: TBA

to:

Office Hours: Wed 11-12 (except for weeks with a faculty meeting) and Fri 10-11, both at CSB 215, and by appt.

Deleted line 30:
  • Implementation and analysis of priority queues
Changed line 45 from:

Midterm: TBD

to:

Midterm: March 10th during class

Changed lines 11-13 from:

Office Hours: TBA

to:

Office Hours:
  Tue 11:00am - 1:00pm CSB 120
  Thu 1:00pm - 3:00pm CSB 120

Changed line 57 from:
Quizes10%
to:
Quizzes10%
Added lines 7-10:

Office Hours: TBA (:cellnr:) TA   (:cell:) Andrew M Sutton
Office: 242

Changed line 9 from:

(:cell:) 3:30pm

to:

(:cell:) 3:30pm CSB 130

Changed lines 42-43 from:

Final Exam: TBD

to:

Final Exam: May 10th 6:20pm-8:20pm

Changed line 46 from:

Course withdrawal date: TBD

to:

Course withdrawal date: March 21st

Changed lines 58-59 from:

Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.

to:

Quizzes will typically be given every other week. No makeups will be given for quizzes, but one quiz grade will be dropped.

Changed lines 23-28 from:
  • 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.

to:
  • 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).
Changed lines 26-27 from:
  • 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.

to:
  • 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.
Changed lines 17-18 from:

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.

to:
  • 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.
Changed lines 3-4 from:

(:table border=0 cellpadding=0 cellspacing=10:) (:cellnr:) Instructor

to:

(:table border=0 cellpadding=0 cellspacing=0:) (:cellnr:) Instructor  

Changed line 8 from:

(:cellnr:) Lecture

to:

(:cellnr:) Lecture  

Changed line 3 from:

(:table border=0 cellpadding=25 cellspacing=0:)

to:

(:table border=0 cellpadding=0 cellspacing=10:)

Changed line 3 from:

(:table border=0 cellpadding=5 cellspacing=0:)

to:

(:table border=0 cellpadding=25 cellspacing=0:)

Changed lines 6-8 from:

Office: 448 (:cellnr:)   (:cell:) Office Hours: TBA

to:

Office: 448
Office Hours: TBA

Changed line 3 from:

(:table border=0 cellpadding=0 cellspacing=0:)

to:

(:table border=0 cellpadding=5 cellspacing=0:)

Changed lines 5-7 from:

(:cell:) Asa Ben-Hur (:cellnr:)   (:cell:) Office: 448

to:

(:cell:) Asa Ben-Hur
Office: 448

Changed lines 4-7 from:

(:cellnr:)Instructor (:cell:) Asa Ben-Hur (:cellnr:)   (:cell:) Office: 448 (:cellnr:)   (:cell:) Office Hours: TBA (:cellnr:)Lecture (:cell:) 3:30pm

to:

(:cellnr:) Instructor (:cell:) Asa Ben-Hur (:cellnr:)   (:cell:) Office: 448 (:cellnr:)   (:cell:) Office Hours: TBA (:cellnr:) Lecture (:cell:) 3:30pm

Changed line 3 from:

(:table border=0 cellpadding=5 cellspacing=0:)

to:

(:table border=0 cellpadding=0 cellspacing=0:)

Changed line 4 from:

(:headnr:)Instructor (:cell:) Asa Ben-Hur

to:

(:cellnr:)Instructor (:cell:) Asa Ben-Hur

Changed line 7 from:

(:headnr:)Lecture (:cell:) 3:30pm

to:

(:cellnr:)Lecture (:cell:) 3:30pm

Changed line 3 from:

(:table border=1 cellpadding=5 cellspacing=0:)

to:

(:table border=0 cellpadding=5 cellspacing=0:)

Added line 8:

(:tableend:)

Changed lines 3-6 from:
InstructorAsa Ben-Hur
      Office: 448 Office Hours: TBA
Lecture3:30pm
to:

(: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

Changed lines 4-5 from:
InstructorAsa Ben-Hur
&nbsp &nbsp &nbsp Office: 448 Office Hours: TBA
to:
InstructorAsa Ben-Hur
      Office: 448 Office Hours: TBA
Changed line 5 from:
 Office: 448 Office Hours:  TBA||
to:
  &nbsp &nbsp &nbsp Office: 448 Office Hours:  TBA||
Changed line 5 from:
 Office: 448 Office Hours:  TBA
to:
 Office: 448 Office Hours:  TBA||
Changed lines 5-7 from:
 Office: 448 
Office Hours: TBA
to:
 Office: 448 Office Hours:  TBA
Changed lines 6-7 from:
 Office Hours:  TBA 
||
to:
 Office Hours:  TBA
Added line 7:
Changed line 6 from:
 Office Hours:  TBA ||
to:
 Office Hours:  TBA 
Changed lines 4-6 from:
InstructorAsa Ben-Hur
Office: 448
Office Hours: TBA
to:
InstructorAsa Ben-Hur
Office: 448
Office Hours: TBA
Changed lines 39-50 from:
to:

Important Dates

Midterm: TBD

Final Exam: TBD

All exams are in the same room as the lecture.

Course withdrawal date: TBD


Added lines 59-61:

Quizes will typically be given every other week. No makeups will be given for quizes, but one quiz grade will be dropped.

Deleted lines 67-86:

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.

Changed lines 78-88 from:

Important Dates

Midterm: TBD

Final Exam: TBD

All exams are in the same room as the lecture.

Course withdrawal date: TBD

to:
Added lines 64-117:

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.
Deleted lines 32-35:

Prerequisites:

Bachelor's degree in the life sciences, or permission of instructor

Changed lines 35-36 from:
to:

J. Kleinberg and E. Tardos, Algorithm Design, First Edition, Addison-Wesley, (2005)

Changed lines 42-43 from:
Assignments    45%Programing and written assignments
to:
Assignments    40%Programing and written assignments
Quizes10%
Changed line 45 from:
Final Exam35%Comprehensive
to:
Final Exam30%Comprehensive
Changed lines 6-8 from:

Office Hours: By appt. ||

Lecture9-9:50 MWF in room 425 in the computer science building
to:

Office Hours: TBA ||

Lecture3:30pm
Changed lines 14-18 from:

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.

to:

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.

Changed lines 19-31 from:
  • 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.
to:
  • 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
Changed lines 63-67 from:

Midterm: TBD

Final Exam:

Course withdrawal date:

to:

Midterm: 3/12 9am-11am

Final Exam: 5/10 9:10am-11:10am

Changed lines 14-16 from:

A student completing this course should be able to:

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.

Added line 7:
Lecture9-9:50 MWF in room 425 in the computer science building
Changed lines 44-72 from:
Assignments    40%Programing and written assignments
Quizzes10%
Recitations10%Attending and completing labs
Midterms (2)20%
Final Exam20%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
A90-100
B80-89.9
C70-79.9
D60-69.9
Fbelow 60

NOTE: We will NOT cut higher than these points (but may cut lower).

to:
Assignments    45%Programing and written assignments
Midterm20%
Final Exam35%Comprehensive
Changed lines 55-64 from:

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.

to:
Changed lines 60-67 from:

First Midterm: TBD

Second Midterm: TBD

Final Exam: Dec 16th 9:10am-11:10am

All exams are in the same room as the lecture.

to:

Midterm: TBD

Final Exam:

Deleted lines 66-86:

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.
Changed lines 6-25 from:

Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm ||

TAsNathan 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)
TutorsTue 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)
Lecture9:30-10:45pm TR at Micro A 101
RecitationWed 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
to:

Office Hours: By appt. ||

Changed lines 15-37 from:
  • 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.
  • Design more efficient programs by understanding basic algorithms, analyzing their complexity and understanding how they are implemented in hardware and software.
  • 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
to:

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.
Changed lines 34-46 from:

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

to:

Bachelor's degree in the life sciences, or permission of instructor

Textbook:

Changed line 17 from:

Sun 3-5pm (Alex Norton

to:

Sun 3-5pm (Alex Norton)

Added line 9:

Off hrs: Tue 3-5pm, Thu 3-5pm (in the Linux lab)

Changed line 12 from:
TutorsTue 3-5pm (John Herndon) 6-9pm (Ryan Moore)
to:
TutorsTue 3-5pm (John Herndon) 6:30-9:30pm (Ryan Moore)
Changed line 14 from:

Thu 2-3pm (Alex Norton) 6-9pm (Ryan Moore)

to:

Thu 2-3pm (Alex Norton) 6:30-9:30pm (Ryan Moore)

Deleted line 11:
 
Changed lines 18-19 from:
Lecture9:30-10:45pm TR at Micro A 101
 
to:
Lecture9:30-10:45pm TR at Micro A 101
Changed lines 13-17 from:
TutorsTBD
to:
TutorsTue 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
Changed lines 10-11 from:

Office: 235

to:

Office: 235
Office hrs: Tue 2-3pm, Wed 1-2pm (in the Linux lab)

Changed line 3 from:
to:
Changed line 6 from:

Office Hours: TBD ||

to:

Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm ||

Deleted line 10:
Deleted line 12:
Changed lines 7-11 from:
TAsTBD
to:
TAsNathan Lindzey (lindzey at cs dot colostate dot edu)
Office: 235
Erin Nagoshi (nagoshi at cs dot colostate dot edu)
Office: 235
Changed line 15 from:
Lecture12:30-1:45pm TR at Micro A 101
to:
Lecture9:30-10:45pm TR at Micro A 101
Changed lines 13-14 from:
RecitationWed 5:00-6:40pm
Thu 1:00-2:40pm
to:
RecitationWed 5:00-6:50pm
Thu 1:00-2:50pm
Changed lines 16-17 from:

Fri 12:00-1:40pm
Thu 2:00-3:40pm ||

to:

Fri 12:00-1:50pm
Fri 2:00-3:50pm ||

Changed lines 23-24 from:

Course objective

to:

Course objectives

Changed lines 56-59 from:

Data Abstraction and Problem Solving with Java, 2nd edition
Frank Carrano and Janet Prichard

to:

Data Abstraction and Problem Solving with Java: Walls & Mirrors, 2nd edition
Frank M. Carrano and Janet J. Prichard

Added line 62:

Your cs160 Java book:

Changed lines 22-26 from:

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.

to:

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.
  • Design more efficient programs by understanding basic algorithms, analyzing their complexity and understanding how they are implemented in hardware and software.
  • 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.
Changed line 43 from:
  • Arrays, lists, and binary search
to:
  • Arrays, lists (dynamic arrays), and binary search
Changed line 46 from:
  • Parameter Passing
to:
  • Parameter passing
Changed line 38 from:

Binding and scoping

to:
  • Binding and scope
Changed line 40 from:

Graphical User Interfaces

to:
  • Graphical User Interfaces
Changed lines 45-46 from:

CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)

to:

CS160 or CS153 with a C or better; M124, M126 (both with a C or better).

Changed line 17 from:


Thu 2:00-3:40pm ||

to:

Thu 2:00-3:40pm ||

Changed lines 28-34 from:
  • Linear Data Structures: Stacks and Queues
  • Advanced Sorting
  • Trees
  • Graphs
  • Hash Tables
  • Computational Complexity
to:
  • 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
Changed lines 50-54 from:
Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ

We will also use:

to:

Data Abstraction and Problem Solving with Java, 2nd edition
Frank Carrano and Janet Prichard

Added lines 57-59:

Java: an introduction to problem wolving and programming, Fifth edition
Walter Savitch and Frank M. Carrano

Changed line 67 from:
Recitations5%Attending and completing labs
to:
Recitations10%Attending and completing labs
Changed lines 69-70 from:
Final Exam25%Comprehensive
to:
Final Exam20%Comprehensive
Changed lines 73-75 from:

Assignments will be done individually, except selected programming assignments

to:

There will be a programming exam as part of the final exam

Assignments will be done individually.

Changed lines 114-119 from:

First Midterm: 2/25/09

Second Midterm: 4/8/09

Final Exam: May 14th 7am-9am

to:

First Midterm: TBD

Second Midterm: TBD

Final Exam: Dec 16th 9:10am-11:10am

Changed line 122 from:

Course withdrawal date: 3/23/09

to:

Course withdrawal date:

Changed line 7 from:
TAsTBD
to:
TAsTBD
Changed lines 13-18 from:
RecitationWed 5:00-6:40pm
 Thu 1:00-2:40pm
 Thu 5:00-6:40pm
 Fri 12:00-1:40pm
 Thu 2:00-3:40pm
to:
RecitationWed 5:00-6:40pm
Thu 1:00-2:40pm
Thu 5:00-6:40pm
Fri 12:00-1:40pm

Thu 2:00-3:40pm
Changed lines 5-12 from:

Office: 448 in the new computer science building
Office Hours: Tue 10-11, Wed 10-11:30 ||

TAsMike 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)
to:

Office: 448
Office Hours: TBD ||

TAsTBD
Changed lines 9-16 from:
TutorsMonday 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
LectureMWF 2-3pm at Wagar 231
to:
TutorsTBD
Lecture12:30-1:45pm TR at Micro A 101
Changed lines 13-17 from:
RecitationMon 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
to:
RecitationWed 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
Added line 3:
Changed line 5 from:

Office Hours: Tue 10-11, Wed 10-11:30

to:

Office Hours: Tue 10-11, Wed 10-11:30 ||

Changed lines 3-5 from:
InstructorAsa Ben-Hur
 Office: 448 in the new computer science building
 Office Hours: Tue 10-11, Wed 10-11:30
to:
InstructorAsa Ben-Hur
Office: 448 in the new computer science building
Office Hours: Tue 10-11, Wed 10-11:30
Changed lines 14-15 from:
 Tuesday 11am-1pm (Zach Hoekstra) 3-5pm (Erin Nagoshi)
 Wednesday 3-5pm (Erin Nagoshi)
to:
 Tuesday 11am-1pm (Zach Hoekstra) 3-4pm (Erin Nagoshi)
 Wednesday 11-1pm (Erin Nagoshi)
Added lines 17-18:
 Saturday 3-6pm (Erin Nagoshi)
 Sunday 4-7pm (John Herndon)
Added line 17:
 All tutoring is in room 120 in the new building
Changed lines 13-14 from:
Tutors
 Monday 3-6pm (Zach Hoekstra)
to:
TutorsMonday 3-6pm (Zach Hoekstra)
Changed lines 14-17 from:
 
to:
 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)
Changed line 8 from:
 Office Hours: Tue 9-11am, Wednesday 10-12pm in Room 120 (1st floor CS Lab)
to:
 Office Hours: Tue 9-11am, Wed 10-12pm in Room 120 (1st floor CS Lab)
Changed line 8 from:
 Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 (1st floor CS Lab)
to:
 Office Hours: Tue 9-11am, Wednesday 10-12pm in Room 120 (1st floor CS Lab)
January 23, 2009, at 02:07 PM MST by Nick - Added Nick's Office & Office Hours
Changed lines 10-11 from:
 Office:
 Office Hours:
to:
 Office: Computer Science BLDG 435
 Office Hours: Thu 3-5pm in Room 120 (1st floor CS Lab)
Changed line 6 from:
TAsMike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
to:
TAsMike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
Changed line 7 from:
 Office: 245
to:
 Office: Computer Science BLDG 245
Changed line 6 from:
TAsMike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
to:
TAsMike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
Changed line 6 from:
TAsMike Hamiton email: hamiltom (at) cs (dot) colostate (dot) edu
to:
TAsMike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
Changed line 8 from:
 Office Hours: Tue 9-11am, Thu 10-12pm in Room 120
to:
 Office Hours: Tue 9-11am, Thu 10-12pm in Room 120 (1st floor CS Lab)
Changed lines 7-8 from:
 Office:
 Office Hours: Tue 9-11am, Thu 10-12pm
to:
 Office: 245
 Office Hours: Tue 9-11am, Thu 10-12pm in Room 120
Changed line 8 from:
 Office Hours:
to:
 Office Hours: Tue 9-11am, Thu 10-12pm
Changed line 5 from:
 Office Hours: TBA
to:
 Office Hours: Tue 10-11, Wed 10-11:30
Added line 7:
 Office:
Added line 10:
 Office:
Changed line 58 from:
Labs5%Attending and completing labs
to:
Recitations5%Attending and completing labs
Changed lines 59-60 from:
Midterms (2)25%1st Midterm: 12%
2nd Midterm: 13%
Final Exam20%Comprehensive
to:
Midterms (2)20%
Final Exam25%Comprehensive
Changed line 58 from:
Labs5%Attending and completing lab assignments
to:
Labs5%Attending and completing labs
Changed lines 104-106 from:

First Midterm: TBA

Second Midterm: TBA

to:

First Midterm: 2/25/09

Second Midterm: 4/8/09

Changed lines 56-57 from:
Assignments    45%Programing and written assignments
Quizzes10%
to:
Assignments    40%Programing and written assignments
Quizzes10%
Labs5%Attending and completing lab assignments
Changed lines 107-109 from:

Final Exam: TBA

All midterm exams are in the same room as the lecture.

to:

Final Exam: May 14th 7am-9am

All exams are in the same room as the lecture.

Changed line 111 from:

Course withdrawal date:

to:

Course withdrawal date: 3/23/09

Changed line 44 from:
     Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ
to:
Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ
Changed line 44 from:
         Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ
to:
     Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ
Changed lines 46-47 from:
We will also use:
to:

We will also use:

Changed lines 38-39 from:
   CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
to:

CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)

Added lines 59-61:

Note: in order to pass the class you need to have a passing grade for the average of the exams.

Changed line 4 from:
 Office #448 in the new computer science building
to:
 Office: 448 in the new computer science building
Changed line 6 from:
TAsemail: (at) cs (dot) colostate (dot) edu
to:
TAsMike Hamiton email: hamiltom (at) cs (dot) colostate (dot) edu
Changed lines 36-37 from:
  • Prerequisites:**
to:

Prerequisites:

Deleted line 9:
Changed line 19 from:
 All recitations are in COMSC 215
to:
 All recitations are in room 215 in the new computer science building
Changed line 37 from:
Prerequisites:
to:
  • Prerequisites:**
Changed lines 40-41 from:
Textbooks:
to:

Textbooks:

Changed line 43 from:
         Data Abstraction and Problem Solving with Java, 2nd editionAttach:walls.jpg Δ
to:
         Data Abstraction and Problem Solving with Java,
2nd edition
Frank Carrano and Janet Prichard
Attach:walls.jpg Δ
Changed line 15 from:
  
to:
 
Changed line 43 from:
         Data Abstraction and Problem Solving with Java, 2nd editionAttach:walls.jpg Δ
to:
         Data Abstraction and Problem Solving with Java, 2nd editionAttach:walls.jpg Δ
Changed line 6 from:
TAsemail: (at) cs (dot) colostate (dot) edu
to:
TAsemail: (at) cs (dot) colostate (dot) edu
Deleted lines 7-8:
 email: (at) cs (dot) colostate (dot) edu
 Office Hours: Tue 10am - 12pm
Changed line 14 from:
LectureMWF 2-3pm at Wagar 231
to:
LectureMWF 2-3pm at Wagar 231
Changed lines 4-7 from:
 Office #448 in the new computer science building
 Office Hours: TBA
TAsemail: (at) cs (dot) colostate (dot) edu
to:
 Office #448 in the new computer science building
 Office Hours: TBA
TAsemail: (at) cs (dot) colostate (dot) edu
Changed line 8 from:
 email: (at) cs (dot) colostate (dot) edu
to:
 email: (at) cs (dot) colostate (dot) edu
Added lines 1-135:

Who, Where, When

InstructorAsa Ben-Hur
 Office #448 in the new computer science building
 Office Hours: TBA
TAsemail: (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
 
LectureMWF 2-3pm at Wagar 231
  
RecitationMon 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
Prerequisites:
CS161 (Object Oriented Problem Solving) AND MATH160 or MATH141 or MATH155 (all with a C or better)
Textbooks:
         Data Abstraction and Problem Solving with Java, 2nd editionAttach:walls.jpg Δ
We will also use:
Discrete Mathematics and Its Applications, Sixth Edition
Kenneth Rosen

Grading:

Assignments    45%Programing and written assignments
Quizzes10%
Midterms (2)25%1st Midterm: 12%
2nd Midterm: 13%
Final Exam20%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
A90-100
B80-89.9
C70-79.9
D60-69.9
Fbelow 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.