Course Outline - CSci2110 CSIII

Dr. Andrew Rau-Chaplin (arc@cs.dal.ca)

Official Course Description
This class is a continuation of CSCI 1101.03. It uses Java and emphasizes data structures and algorithms.

Course Description
This course provides a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation. In discussing design and analysis there is a strong emphases on abstraction. In discussing implementation general approaches that are applicable in a wide range of procedural programming language are empathized, in addition to a focus on the details of Java implementations. Topics include: a review of basic data structures (Stacks, Queues, Lists, Vectors), Trees, Priority Queues, Dictionaries, Hashing, Search Trees, Sorting (MergeSort, QuickSort, RadixSort) and Sets, and Graphs (Traversals, Spanning Trees, Shortest paths).

Marking
Assignments (best 4 of 5) 40%,  Midterms (1) 15%,  Practicum (best of 1 of 2) 10%, Final Exam (1) 35%.

Note: Grading scheme subject to change at any time. Students must pass at least three assignments and the final exam to pass the course. When submitting your assignment please maintain a copy for your records. Please maintain all marked work until after the course has finished. A calculator and a personal "cheat sheet" consisting of an 8.5" * 11" sheet of paper, HAND WRITTEN, writing both sides will be permitted in the midterm test and final exam. You must submit at least three assignments and write the midterm to earn the right to write the final exam.

Collaboration
It is a good idea to form informal study groups. Talk to your friends, but code your own programs. Acknowledge all collaborators and any other sources. Plagiarism and other anti-intellectual behavior will be dealt with severely. ALL CASES OF SUSPECTED PLAGIARISM WILL BE IMMEDIATELY HANDED OVER THE ACADEMIC INTEGRITY OFFICER . Please read the university policy on intellectual honesty  (http://www.registrar.dal.ca/calendar/front/ureg.htm#10) and for more information and resources see the Dalhousie Plagiarism page (http://plagiarism.dal.ca/).

Textbook
Data Structures and Algorithms in Java (6e Edition) by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser

The Lectures
The course consists of approximately 20 lectures. Lecture attendance not required, but historically non-attendance = poor grade. Attendance and participation will be used when considering how to handle grade cusp situations.

Tutorials
Attendance at the tutorials is very useful. Tutorials will be typically lead by the teaching assistant and will be mostly problem solving sessions and sessions on programming tools and practice.

Student Accomodation
Students may request accommodation as a result of barriers related to disability, religious obligation, or any characteristic under the Nova Scotia Human Rights Act. Students who require academic accommodation for either classroom participation or the writing of tests and exams should make their request to the Advising and Access Services Center (AASC) prior to or at the outset of the regular academic year. Please visit www.dal.ca/access for more information and to obtain the Request for Accommodation – Form A. A note taker may be required as part of a student’s accommodation. There is an honorarium of $75/course/term (with some exceptions). If you are interested, please contact AASC at 494-2836 for more information.

Academic Integrity

At Dalhousie University, we respect the values of academic integrity: honesty, trust, fairness, responsibility and respect. As a student, adherence to the values of academic integrity and related policies is a requirement of being part of the academic community at Dalhousie University.

Students are expected to do the assignments on their own and to hand in the efforts of their own work. Please read the university policy on plagiarism and intellectual honesty at: http://www.cs.dal.ca/graduate/studentinfo/plagiarism 

What does academic integrity mean?
Academic integrity means being honest in the fulfillment of your academic responsibilities thus establishing mutual trust. Fairness is essential to the interactions of the academic community and is achieved through respect for the opinions and ideas of others. Violations of intellectual honesty are offensive to the entire academic community, not just to the individual faculty member and students in whose class an offence occurs." (see Intellectual Honesty section of University Calendar)

How can you achieve academic integrity?
These examples should be considered only as a guide and not an exhaustive list.

What will happen if an allegation of an academic offence is made against you?
I am required to report a suspected offence. 
The full process is outlined in the Discipline chart, which can be found at: http://academicintegrity.dal.ca/Files/AcademicDisciplineProcess.pdf and includes the following:
  1. Each Faculty has an Academic Integrity Officer (AIO) who receives allegations from instructors.
  2. The AIO decides whether to proceed with the allegation and you will be notified of the process.
  3. If the case proceeds, you will receive an INC (incomplete) grade until the matter is resolved.
  4. If you are found guilty of an academic offence, a penalty will be assigned ranging from a warning to a suspension or expulsion from the University and can include a notation on your transcript, failure of the assignment or failure of the course. All penalties are academic in nature.

Where can you turn for help?

Culture of Respect

Every person has a right to be respected and safe. We believe inclusiveness is fundamental to education and learning. Misogyny and disrespectful behavior in our classrooms, on our campus, on social media, and in our community is unacceptable. We stand for equality. We hold ourselves to a higher standard. What we all need to do:
  1. Be ready: promise yourself to not remain silent, know that it will happen again, summon your courage whatever it takes. Practice things to say, open ended is good: “Why did you say that?” or “How did you develop that belief?”
  2. Identify the behaviour: Use reflective listening, avoid labeling, name-calling or blame. Describe the behaviour, don’t label the person: “Kim, what I hear you saying is that …”
  3. Appeal to principles: this works well if the person is known to you like a friend, sibling, co-worker etc. “Joe, I have always thought of you as a fair-minded person, so it shocks me when I hear you say something like that.”
  4. Set limits: you cannot control another person, but you can control what happens in your space. “Please don’t tell racist jokes in my presence anymore” or “This classroom is not a place where I allow homophobia to occur” and then follow through.
  5. Find an ally/be an ally: seek out like-minded people for support or support others in their challenges. Lead by example and inspire others to do the same.
  6. Be vigilant: change happens slowly, but be prepared, and keep speaking up. Don’t let yourself be silenced.
Please see http://www.dal.ca/faculty/computerscience/about/respect.htm l for more information and for a list of confidential & informal points of contact in our Faculty. 

Source: Speak Up! © 2005 Southern Poverty Law Center. First Printing. This publication was produced by Teaching Tolerance, a project of the Southern Poverty Law Center. Full ”Speak Up” document found at: http://www.dal.ca/dept/dalrespect.html. Revised by Susan Holmes from a document provided April 2015 by Lyndsay Anderson, Manager, Student Dispute Resolution, Dalhousie University, 902.494.4140, lyndsay.anderson@dal.ca www.dal.ca/think

All class assignment and other materials will be provided on the course web site at
http://www.cs.dal.ca/~arc/teaching/CS2110

NOTE: No further materials will be provided in paper form.