Main.Syllabus History
Show minor edits - Show changes to output
Changed lines 31-32 from:
||Assignments || 30% ||
||Project ||50% ||
||Project ||
to:
||Assignments || 15% ||
||Project || 65% ||
||Project || 65% ||
Deleted line 0:
Changed line 7 from:
(:cell:) 12:30pm at CSB 425
to:
(:cell:) 11:00am at CSB 425
Changed lines 17-19 from:
Machine learning is an important component in many bioinformatics problems: from gene finding, to protein function prediction.
Kernel methods are an important class of machine learning methods that have a wide range of applicability, including in bioinformatics. Kernel methods lend themselves particularly well to the difficult aspects of biological data, which include high dimensionality (as in microarray data), lack of a vector based representation (as in sequence and structure data), and the need to combine heterogeneous sources of information.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students will present recent research papers, implement the methods described described in those papers, and test them using the PyML machine learning environment.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students
to:
Machine learning is an important component in many bioinformatics problems: from gene finding, to protein function prediction. In this course we will focus on support vector machines (SVM) and other kernel-based classification.
Kernel methods are an important class of machine learning methods that have a wide range of applicability, including in bioinformatics. Kernel methods lend themselves particularly well to the difficult aspects of biological data, which include high dimensionality (as in microarray data), lack of a vector based representation (as in sequence and structure data), and the need to combine heterogeneous sources of information.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students will present recent research papers, implement the methods described described in those papers, and test them using the [[http://pyml.sf.net | PyML]] machine learning environment.
Kernel methods are an important class of machine learning methods that have a wide range of applicability, including in bioinformatics. Kernel methods lend themselves particularly well to the difficult aspects of biological data, which include high dimensionality (as in microarray data), lack of a vector based representation (as in sequence and structure data), and the need to combine heterogeneous sources of information.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students will present recent research papers, implement the methods described described in those papers, and test them using the [[http://pyml.sf.net | PyML]] machine learning environment.
Changed line 9 from:
(:cell:) 3:30pm
to:
(:cell:) 12:30pm at CSB 425
Changed lines 15-31 from:
===Course objectives
* Practice the implementation of sophisticated algorithms.
* Learn a variety of algorithmic techniques.
* Expose studentsto theoretical concepts in algorithm design and analysis: proving algorithm correctness and evaluation of algorithm efficiency.
!!!Course Outline
* 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 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
* Practice the implementation of sophisticated algorithms.
* Learn a variety of algorithmic techniques.
* Expose students
!!!Course Outline
* Introduction: How to formulate a problem, algorithm definitions, what it means for an algorithm to be correct
* Analysis
* Implementation and analysis of priority queues
* Graph Algorithms. Implementation of a dynamic graph abstract data type that supports efficient insertion and deletion of vertices
* Greedy Algorithms
* Dynamic programming
* Network flow algorithms
to:
===Course description
Machine learning is an important component in many bioinformatics problems: from gene finding, to protein function prediction.
Kernel methods are an important class of machine learning methods that have a wide range of applicability, including in bioinformatics. Kernel methods lend themselves particularly well to the difficult aspects of biological data, which include high dimensionality (as in microarray data), lack of a vector based representation (as in sequence and structure data), and the need to combine heterogeneous sources of information.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students will present recent research papers, implement the methods described described in those papers, and test them using the PyML machine learning environment.
Machine learning is an important component in many bioinformatics problems: from gene finding, to protein function prediction.
Kernel methods are an important class of machine learning methods that have a wide range of applicability, including in bioinformatics. Kernel methods lend themselves particularly well to the difficult aspects of biological data, which include high dimensionality (as in microarray data), lack of a vector based representation (as in sequence and structure data), and the need to combine heterogeneous sources of information.
The course will provide a detailed overview of current research in kernel methods and their applications in bioinformatics. Students will present recent research papers, implement the methods described described in those papers, and test them using the PyML machine learning environment.
Changed lines 25-26 from:
to:
John Shawe-Taylor and Nello Cristianini. [[http://www.kernel-methods.net/ | Kernel methods for pattern analysis]], Cambridge, 2004.
Changed lines 30-41 from:
Midterm: TBD
Final Exam: TBD
All exams are in the same room as the lecture.
Course withdrawal date: TBD
----
to:
Changed lines 33-41 from:
||Assignments || 40% ||Programing and written assignments
||Quizes || 10% ||
||Midterm || 20% ||
||Final Exam || 30% ||Comprehensive
Quizzes will typically be given every other week.
No makeups will be given for quizzes, but one quiz grade will be dropped.
||Final Exam || 30% ||Comprehensive
Quizzes will typically be given every other week.
No makeups will be given for quizzes, but one quiz grade will be dropped.
to:
||Assignments || 30% ||
||Project || 50% ||
||Paper presentation || 20% ||
||Project || 50% ||
||Paper presentation || 20% ||
Deleted lines 37-75:
===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.
----
===Professional Conduct
All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the
[[http://www.cs.colostate.edu/~info/student-info | student information sheet]].
Additionally, you are (beginning) computing professionals, so you should be familiar with the
[[http://www.acm.org/about/code-of-ethics|code of conduct]] for the primary professional society,
the Association for Computing Machinery (ACM).
>>center<<
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 58-59 from:
No makeups will be given for
to:
Quizzes will typically be given every other week.
No makeups will be given for quizzes, but one quiz grade will be dropped.
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.
what it means for an algorithm to be correct,
proof of algorithm correctness, with introductory examples.
* Analysis of algorithm efficiency
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).
* 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.
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:
The course will contain a significant theoretical component - proving
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.
* 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**
(:cellnr:) **Instructor**
to:
(:table border=0 cellpadding=0 cellspacing=0:)
(:cellnr:) **Instructor**
(: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
(:cellnr:)
(:cell:)
to:
Office: 448\\
Office Hours: TBA
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:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
(:cellnr:)
(:cell:)Office: 448
(:cell:)
to:
(:cell:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]] \\
Office: 448
Office: 448
Changed lines 4-7 from:
(:cellnr:)**Instructor** (:cell:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
(:cellnr:) (:cell:) Office: 448
(:cellnr:) (:cell:) Office Hours: TBA
(:cellnr:)**Lecture** (:cell:) 3:30pm
(:cellnr:) (:cell:) Office: 448
(:cellnr:) (:cell:) Office Hours: TBA
(:cellnr:)**Lecture** (:cell:) 3:30pm
to:
(:cellnr:) **Instructor**
(:cell:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
(:cellnr:)
(:cell:) Office: 448
(:cellnr:)
(:cell:) Office Hours: TBA
(:cellnr:) **Lecture**
(:cell:) 3:30pm
(:cell:) [[http://www.cs.colostate.edu/~asa | 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:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
to:
(:cellnr:)**Instructor** (:cell:) [[http://www.cs.colostate.edu/~asa | 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:
||**Instructor** || [[http
||
to:
(:table border=1 cellpadding=5 cellspacing=0:)
(:headnr:)**Instructor** (:cell:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
(:cellnr:) (:cell:) Office: 448
(:cellnr:) (:cell:) Office Hours: TBA
(:headnr:)**Lecture** (:cell:) 3:30pm
(:headnr:)**Instructor** (:cell:) [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
(:cellnr:) (:cell:) Office: 448
(:cellnr:) (:cell:) Office Hours: TBA
(:headnr:)**Lecture** (:cell:) 3:30pm
Changed lines 4-5 from:
||**Instructor** || [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]\\
      Office: 448 Office Hours: TBA||
      Office: 448 Office Hours: TBA||
to:
||**Instructor** || [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]] \\
Office: 448 Office Hours: TBA||
Office: 448 Office Hours: TBA||
Changed line 5 from:
Office: 448 Office Hours: TBA||
to:
      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
Changed line 6 from:
Office Hours: TBA ||
to:
Office Hours: TBA \\
Changed lines 4-6 from:
||**Instructor** ||[[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]\\
Office: 448 \\
Office Hours: TBA ||
Office: 448 \\
Office Hours: TBA ||
to:
||**Instructor** || [[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]\\
Office: 448 \\
Office Hours: TBA ||
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
----
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.
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
[[http://www.cs.colostate.edu/~info/student-info | student information sheet]].
Additionally, you are (beginning) computing professionals, so you should be familiar with the
[[http://www.acm.org/about/code-of-ethics|code of conduct]] for the primary professional society,
the Association for Computing Machinery (ACM).
>>center<<
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:
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
||Quizes || 10% ||
||Quizes || 10% ||
Changed line 45 from:
||Final Exam || 35% ||Comprehensive
to:
||Final Exam || 30% ||Comprehensive
Changed lines 6-8 from:
Office Hours: By appt. ||
||**Lecture** ||9-9:50 MWF in room 425 in the computer science building
||**Lecture** ||
to:
Office Hours: TBA ||
||**Lecture** || 3:30pm
||**Lecture** || 3:30pm
Changed lines 14-18 from:
The hands-on lab
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.
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.
* Simple python programs: Variables, assignment statements, arithmetic expressions, input and output statements.
* Control flow statements: if statements, while statements, for statements.
* Functions: general concept
* Simple data structures: arrays (implemented as Python lists), strings
* Files: reading and writing text files
*
* Writing python objects and object oriented programming
* Algorithms and problem solving techniques – the course presents at least one sorting algorithm
*
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
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:
Final
Course withdrawal date
to:
Midterm: 3/12 9am-11am
Final Exam: 5/10 9:10am-11:10am
Final Exam: 5/10 9:10am-11:10am
Changed lines 14-16 from:
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.
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:
||**Lecture** || 9-9:50 MWF in room 425 in the computer science building
Changed lines 44-72 from:
||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).
to:
||Assignments || 45% ||Programing and written assignments
||Midterm || 20% ||
||Final Exam || 35% ||Comprehensive
||Midterm || 20% ||
||Final Exam || 35% ||Comprehensive
Changed lines 55-64 from:
**Programming assignments** are to be submitted electronically using the [[http://www.cs.colostate.edu/~cs200/checkin.html |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:
Final Exam: Dec 16th 9:10am-11:10am
All exams are in the same room as the lecture.
to:
Midterm: TBD
Final Exam:
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
[[http://www.cs.colostate.edu/~info/student-info | student information sheet]].
Additionally, you are (beginning) computing professionals, so you should be familiar with the
[[http://www.acm.org/about/code-of-ethics|code of conduct]] for the primary professional society,
the Association for Computing Machinery (ACM).
>>center<<
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 ||
||**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 ||
||**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
to:
Office Hours: By appt. ||
Changed lines 15-37 from:
* Design
>>comment<<
* Design more efficient programs by understanding basic algorithms, analyzing their complexity and understanding how they are implemented in hardware and software
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),
* 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.
* 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:
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:**
**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:
||**Tutors** ||Tue 3-5pm (John Herndon) 6-9pm (Ryan Moore)\\
to:
||**Tutors** ||Tue 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)\\
Changed lines 18-19 from:
||**Lecture** ||9:30-10:45pm TR at Micro A 101 ||
|| ||
|| ||
to:
||**Lecture** ||9:30-10:45pm TR at Micro A 101
Changed lines 13-17 from:
||**Tutors** ||TBD
to:
||**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
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)
Office hrs: Tue 2-3pm, Wed 1-2pm (in the Linux lab)
Changed line 6 from:
Office Hours: TBD ||
to:
Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm ||
Changed lines 7-11 from:
||**TAs** ||TBD
to:
||**TAs** ||Nathan Lindzey (lindzey at cs dot colostate dot edu) \\
Office: 235\\
Erin Nagoshi (nagoshi at cs dot colostate dot edu)\\
Office: 235
Office: 235\\
Erin Nagoshi (nagoshi at cs dot colostate dot edu)\\
Office: 235
Changed line 15 from:
||**Lecture** ||12:30-1:45pm TR at Micro A 101 ||
to:
||**Lecture** ||9:30-10:45pm TR at Micro A 101 ||
Changed lines 13-14 from:
||**Recitation** ||Wed 5:00-6:40pm \\
Thu 1:00-2:40pm \\
Thu 1:00-2:
to:
||**Recitation** ||Wed 5:00-6:50pm \\
Thu 1:00-2: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 ||
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
Frank Carrano and Janet Prichard
to:
Data Abstraction and Problem Solving with Java: Walls & Mirrors, 2nd edition\\
Frank M. Carrano and Janet J. Prichard
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.
CS200 revisits and extends the principles of programming and discrete math that are introduced in CS161 and applies them to the development
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,
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.
>>comment<<
* 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.
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.
>>comment<<
* 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:
or MATH141 or MATH155
to:
CS160 or CS153 with a C or better; M124, M126 (both with a C or better).
Changed line 17 from:
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
* Advanced Sorting
* Trees
* Hash Tables
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
* 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:
||
We will also use:
to:
Data Abstraction and Problem Solving with Java, 2nd edition\\
Frank Carrano and Janet Prichard
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
Walter Savitch and Frank M. Carrano
Changed line 67 from:
||Recitations || 5% ||Attending and completing labs
to:
||Recitations || 10% ||Attending and completing labs
Changed lines 69-70 from:
||Final Exam || 25% ||Comprehensive
to:
||Final Exam || 20% ||Comprehensive
Changed lines 73-75 from:
Assignments
to:
There will be a programming exam as part of the final exam
Assignments will be done individually.
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
Second Midterm:
Final Exam:
to:
First Midterm: TBD
Second Midterm: TBD
Final Exam: Dec 16th 9:10am-11:10am
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:
||**TAs** || TBD
to:
||**TAs** ||TBD
Changed lines 13-18 from:
||**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 ||
||
|| ||Thu 5:00-6:40pm ||
|| ||Fri 12:00-1:40pm ||
|| ||Thu 2:00-3:40pm ||
to:
||**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 ||
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 ||
||**TAs** ||[[http://www.cs.colostate.edu/~hamiltom | Mike Hamilton]] email: hamilto'''m''' (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 Hours: Tue 10-11, Wed 10-11:30 ||
||**TAs** ||[[http://www.cs.colostate.edu/~hamiltom | Mike Hamilton]] email: hamilto'''m''' (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 ||
||**TAs** || TBD
Office Hours: TBD ||
||**TAs** || TBD
Changed lines 9-16 from:
||**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 ||
|| ||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
to:
||**Tutors** ||TBD
||**Lecture** ||12:30-1:45pm TR at Micro A 101 ||
||**Lecture** ||12:30-1:45pm TR at Micro A 101 ||
Changed lines 13-17 from:
||**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 ||
||
||
|| ||All recitations are in room 215 in the new computer science building
to:
||**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 ||
|| ||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 ||
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:
||**Instructor** ||[[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]
|| ||Office: 448 in the new computer science building ||
|| ||Office Hours: Tue10-11, Wed 10-11:30 ||
|| ||Office Hours: Tue
to:
||**Instructor** ||[[http://www.cs.colostate.edu/~asa | Asa Ben-Hur]]\\
Office: 448 in the new computer science building \\
Office Hours: Tue 10-11, Wed 10-11:30 \\
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)
|| ||Wednesday3-5pm (Erin Nagoshi)
|| ||Wednesday
to:
|| ||Tuesday 11am-1pm (Zach Hoekstra) 3-4pm (Erin Nagoshi)
|| ||Wednesday 11-1pm (Erin Nagoshi)
|| ||Wednesday 11-1pm (Erin Nagoshi)
Added lines 17-18:
|| ||Saturday 3-6pm (Erin Nagoshi)
|| ||Sunday 4-7pm (John Herndon)
|| ||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:
||**Tutors** ||Monday 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)
|| ||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 - 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)
|| ||Office Hours: Thu 3-5pm in Room 120 (1st floor CS Lab)
Changed line 6 from:
||**TAs** ||Mike Hamilton email: hamilto'''m''' (at) cs (dot) colostate (dot) edu
to:
||**TAs** ||[[http://www.cs.colostate.edu/~hamiltom | Mike Hamilton]] email: hamilto'''m''' (at) cs (dot) colostate (dot) edu
Changed line 7 from:
|| ||Office: 245
to:
|| ||Office: Computer Science BLDG 245
Changed line 6 from:
||**TAs** ||Mike Hamilton email: hamiltom (at) cs (dot) colostate (dot) edu
to:
||**TAs** ||Mike Hamilton email: hamilto'''m''' (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
|| ||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:
||Labs || 5% || Attending and completing labs
to:
||Recitations || 5% ||Attending and completing labs
Changed lines 59-60 from:
||Midterms (2) || 25% ||1st Midterm: 12%\\2nd Midterm: 13%
||Final Exam || 20% ||Comprehensive
to:
||Midterms (2) || 20% ||
||Final Exam || 25% ||Comprehensive
||Final Exam || 25% ||Comprehensive
Changed line 58 from:
||Labs || 5% || Attending and completing lab assignments
to:
||Labs || 5% || Attending and completing labs
Changed lines 104-106 from:
First Midterm: TBA
Second Midterm:TBA
Second Midterm:
to:
First Midterm: 2/25/09
Second Midterm: 4/8/09
Second Midterm: 4/8/09
Changed lines 56-57 from:
||Assignments || 45% ||Programing and written assignments
||Quizzes || 10% ||
||Quizzes || 10% ||
to:
||Assignments || 40% ||Programing and written assignments
||Quizzes || 10% ||
||Labs || 5% || Attending and completing lab assignments
||Quizzes || 10% ||
||Labs || 5% || Attending and completing lab assignments
Changed lines 107-109 from:
Final Exam: TBA
All midterm exams are in the same room as the lecture.
All midterm
to:
Final Exam: May 14th 7am-9am
All exams are in the same room as the lecture.
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:
to:
||Data Abstraction and Problem Solving with Java,\\ 2nd edition\\Frank Carrano and Janet Prichard || %width=100px%Attach:walls.jpg||
Changed line 44 from:
|| ||Data Abstraction and Problem Solving with Java,\\ 2nd edition\\Frank Carrano and Janet Prichard || %width=100px%Attach:walls.jpg||
to:
|| ||Data Abstraction and Problem Solving with Java,\\ 2nd edition\\Frank Carrano and Janet Prichard || %width=100px%Attach:walls.jpg||
Changed lines 46-47 from:
to:
We will also use:
Changed lines 38-39 from:
to:
CS161 (Object Oriented Problem Solving) AND MATH160
or MATH141 or MATH155 (all with a C or better)
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:
||**TAs** ||email: (at) cs (dot) colostate (dot) edu
to:
||**TAs** ||Mike 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:
to:
**Prerequisites:**\\
Changed lines 40-41 from:
to:
**Textbooks:**
Changed line 43 from:
|| ||Data Abstraction and Problem Solving with Java, 2nd edition || %width=100px%Attach:walls.jpg||
to:
|| ||Data Abstraction and Problem Solving with Java,\\ 2nd edition\\Frank Carrano and Janet Prichard || %width=100px%Attach:walls.jpg||
Changed line 15 from:
|| || ||
to:
|| ||
Changed line 43 from:
|| ||Data Abstraction and Problem Solving with Java, 2nd edition || Attach:walls.jpg||
to:
|| ||Data Abstraction and Problem Solving with Java, 2nd edition || %width=100px%Attach:walls.jpg||
Changed line 6 from:
||**TAs** || email: (at) cs (dot) colostate (dot) edu
to:
||**TAs** ||email: (at) cs (dot) colostate (dot) edu
Deleted lines 7-8:
|| ||Office Hours: Tue 10am - 12pm
Changed line 14 from:
||**Lecture** || MWF 2-3pm at Wagar 231 ||
to:
||**Lecture** ||MWF 2-3pm at Wagar 231 ||
Changed lines 4-7 from:
|| ||Office #448 in the new computer science building
|| ||Office Hours: TBA
||**TAs** || email: (at) cs (dot) colostate (dot) edu
to:
|| ||Office #448 in the new computer science building ||
|| ||Office Hours: TBA ||
||**TAs** || email: (at) cs (dot) colostate (dot) edu
|| ||Office Hours: TBA ||
||**TAs** || email: (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
||**Instructor** ||[[http://www.cs.colostate.edu/~asa | 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
-> **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 edition || Attach:walls.jpg||
-> We will also use:\\
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 [[http://www.cs.colostate.edu/~cs200/checkin.html |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
[[http://www.cs.colostate.edu/~info/student-info | student information sheet]].
Additionally, you are (beginning) computing professionals, so you should be familiar with the
[[http://www.acm.org/about/code-of-ethics|code of conduct]] for the primary professional society,
the Association for Computing Machinery (ACM).
>>center<<
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.
\\
||**Instructor** ||[[http://www.cs.colostate.edu/~asa | 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
-> **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 edition || Attach:walls.jpg||
-> We will also use:\\
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 [[http://www.cs.colostate.edu/~cs200/checkin.html |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
[[http://www.cs.colostate.edu/~info/student-info | student information sheet]].
Additionally, you are (beginning) computing professionals, so you should be familiar with the
[[http://www.acm.org/about/code-of-ethics|code of conduct]] for the primary professional society,
the Association for Computing Machinery (ACM).
>>center<<
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.
\\
