Instructor |
|
Description |
Data Structures and Algorithms
Basic organization of programs, optimizing program
structure, modularization. Data structures, searching
and sorting algorithms, handling large data sets, analysis
of algorithms.
|
Prerequisites |
CMPT 140 or 141 or instructor's consent.
It is expected that the student has at least one standard programming language
(e.g., C/C++, Java, Python) in which he/she is fairly comfortable.
Some level of mathematical reasoning, e.g., CMPT/MATH 150 (Discrete Math),
will help the student to succeed.
|
Text |
Required:
Introduction to Algorithms,
Cormen, T., Leiserson, E., Rivest, R., and Stein, C.,
3rd ed., MIT Press (2009). ISBN 0-262-03384-4.
This text is available in the campus bookstore.
|
Topics |
The exact set of topics covered will vary depending on instructor and semester.
The following is a tentative planned set of topics for Fall 2012
(chapters from CLRS3):
- Algorithmic complexity (ch1-5)
- Sorting algorithms (ch6-8)
- Fast data structures (ch10-13)
- Dynamic programming and greedy algorithms (ch15-16)
- Graph algorithms (ch22-24)
- Linear programming (ch29)
|
Marking |
Letter grade assignment follows
the standard TWU grade scale,
except that >=85% and <95% is an A; 95% and above is an A+.
HW Assignments(6) | 40% | Every other week |
Exams (3) | 30% | In-class; see schedule |
Final Exam | 30% | Set by Provost's Office |
|
Notes |
- Homeworks are expected to be individual work. If you find inspiration from
fellow students or online resources, cite them in your report; indicate how
they helped you.
- Late policy for homeworks is a penalty of 10% per calendar day,
up to a week late. More than a week late and it will not be accepted unless
there are extenuating circumstances
(which must be communicated promptly with the instructor).
The final assignment (HW6) will not be accepted late.
We will use the timestamp on myCourses.
It is your responsibility to make sure all parts of your assignment are
uploaded to the right place in myCourses by the deadline.
- If you turn in your HW on-time, you can expect it to be
marked within a week. If you turn in your HW late, you forfeit the
privilege of getting prompt feedback.
- You should have a programming language and development environment
in which you are fairly comfortable; get this sorted out in the first week of
the semester. You may use any programming language you like for
all assignments in this course, subject to the following:
- Ask the instructor first if it's not C/C++, Java, or Python
- Refrain from using library functions which defeat the purpose of
the given assignment (e.g., if the assignment is to implement QuickSort,
don't use the built-in sort function in Python or C++ STL).
- Laptops are permitted in-class only for course-related work.
This means no Facebook, YouTube, Halo, etc., (unless directly related
to coursework)!
- During in-class quizzes/exams, all of the following are not
permitted and should be left in your closed/zipped bag and put on the floor:
- Books, notes, cell phones, laptops, PDAs, iPods, dictionaries.
Your desk should be clear except for your pencil/pen.
- All
academic policies
in the Academic Calendar are in effect, including
"Academic Dishonesty and Plagiarism", "Attendance", and
"Students with a Disability".
- In case of inclement weather, call (604) 513-2147 or
see www.twu.ca/conditions
for official campus conditions.
|