0% found this document useful (0 votes)
47 views4 pages

Course Outline Fall 2023.v0

Uploaded by

bhaumickarsh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views4 pages

Course Outline Fall 2023.v0

Uploaded by

bhaumickarsh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Course Outline

Department of Computing Science


Faculty of Science

COMP 2230 - 3
Data Structures and Algorithm Analysis (3,1,0)
Fall 2023

Instructor: Kevin O’Neil Phone/Voice Mail: 250-371-5789


Office: S 138 E-Mail: [email protected]
Office Hours: TBA
Delivery Mode: Face to Face, Synchronous on-line through BlueJeans, with recorded lectures
posted later; selected lectures and seminars will be on-line and or asynchronous.

Schedule: M 10:30, T 10:30, R 10:30 (Seminar), F 10:30


BlueJeans: https://bluejeans.com/2503715789/

Course Description
Students are introduced to the basic methods of representing data in computing science. Students
review, implement, and analyze several fundamental data structures including lists, stacks, queues,
and graphs. Students learn the implementation of algorithms used to represent these data structures,
and the efficiency and cost tradeoffs of each.

Educational Objectives/Outcomes
Upon successful completion of the course, the student will demonstrate the ability to:
1. Identify with the programming problems that can be solved using these data structures.
2. Understand the common operations on these data structures and how to implement them using
Java.
3. Understand the sorting algorithms such as bubble, selection, insertion, merge, and quick.
4. Explain the use of search methods such as linear, binary, hash.
5. Be familiar with the use of mathematical techniques to analyse the efficiency of the various
searching, and sorting algorithms.
6. Understand the programming techniques appropriate to developing middle-sized programs.

Prerequisites
A grade of C or better in COMP 1230 or COMP 1231 and MATH 1700 or MATH 1701

Required Texts/Materials

1. Lewis, DePasquale and Chase; Java Foundations, An Introduction to Program Design and Data
Structures,5th edition, Pearson Education Inc.
2. Storage device for saving programs, etc. (e.g., flash memory device)
3. TRU Lab/Network Computer Account.
4. Standard 8.5 x 11 (letter-size) laser/inkjet printer paper (for printing in TRU computer labs).
Other Available/Recommended Resources
 Java 2 Software Development Kit (SDK), version 7.0 or higher
 Dr Java or similar IDE
 Network Resources Available (course outline, lecture notes, examples, assignments and sample
tests)
 TRU lab network folder: h:\babinchuk\Comp2230
 Moodle at TRU
IT Services has created videos to assist students with accessing their computer accounts such as
myTRU, Network, Blackboard and Moodle. They are located at www.tru.ca/its in the News section
- http://www.tru.ca/its/studentvideos.html.

Course Schedule:
 3 Lectures per week (50 Minutes each)
 1 Seminar per week (50 minutes each)

Student Evaluation

Assignments Test 1 Oct 6th 25% Final Exam (2 hours)


20% Test 2 Nov 6th 25% 30%

Note 1: Students must attain at least 40 out of 80 on the tests in order to pass this course (term tests
and final combined).
Note 2: Students must attain at least 10 out of 20 on the assignments portion of the course.

 The final examination period is from Dec 5 th to 17th. The student must be available all those
days.
 No electronic devices will be needed, required, or allowed during exams.
 Each missed exam receives a mark of zero (0) unless a note from a doctor is provided.

Student Attendance Policy (http://www.tru.ca/policy/allpolicy.html ED 3-1)


Please note the following from the TRU Policy Manual:
 students are expected to regularly attend lectures, laboratories, tutorial and seminar sessions for
which they are enrolled. Admission to a lecture, laboratory, tutorial or seminar may be refused
by the instructor for lateness, class misconduct or failure to complete required work.
 student must attend a minimum of 90% of class or lab time allocated to each course

Assignments / Labs
 An assignment/lab is due on the due date & time, otherwise it is late.
 A late assignment or lab counts as "not submitted” and is generally not accepted (receives
a mark of zero-0).
 Students are expected to read the lab sheets, review the relevant material in the text and notes,
and attempt the necessary lab projects, before asking the instructor for help.

Academic Integrity Policy (http://www.tru.ca/policy/allpolicy.html ED-5-0)


 All work submitted must be your own.
 Preliminary discussions may be held with other students (strategies for solving a problem may
be discussed but code must not be shared) but the final work produced must be your own.
Jointly produced work will result in a zero for that assignment for all students involved in the
joint work and may mean loss of a letter grade for the course. The student may also be expelled
from the University.

Class Conduct
 During lectures and labs, the student is expected to act in a professional and respectful manner
towards other students and instructors; otherwise, the students will be asked to leave.
 During lab/seminar times, the student is expected to work on course work only.

Late Homework Policy


Assignments and Labs are due at the BEGINNING of the class/lab on the date indicated. Homework
that is late shall receive a mark of zero (0).

Missed work
All exams and quizzes must be written at the designated time. Missed exams, and assignments will
count as zero unless medical reasons supported by a medical doctor’s note are provided.

Syllabus - Lecture Topics:


Unit Chapter Duration
1. Algorithm Analysis....................................................chapter 11 1 week
2. Intro to Collections, Generics, Stacks.........................chapter 12 1 week
3. Linked Structures -- Stacks.........................................chapter 13 1 week
4. Queues........................................................................chapter 14 1 week
5. Lists............................................................................chapter 15 1 week
6. Iterators......................................................................chapter 16 0.5 week
7. Searching and Sorting.................................................chapter 18 1 week
8. Trees...........................................................................chapter 19 1 week
9. Binary Search Trees...................................................chapter 20 1 week
10. Heaps and priority queues..........................................chapter 21 1 week
11. Hashing .....................................................................App I 1 week
12. Sets and maps.............................................................chapter 22 0.5 week
13. Graphs........................................................................chapter 24 1 week
14. Midterms & review............................................................................ 1 week

Syllabus - Lab Topics:


Unit
1. Algorithm Analysis
Growth function, Big O value
2. Intro to Collections, Generics, Stacks
Complete implementation of array stack from textbook
Write classes using Generics
Linked Structures – Stacks
Complete implementation of linked stack from textbook
Design and implement a drop out stack
3. Queues
Complete implementation of linked stack from textbook
Complete implementation of Circular Array Queue from textbook
4. Lists
Complete implementation of Linked List Class from textbook
Complete implementation of Linked Ordered List Class from textbook
5. Iterators
Add an iterator to the Linked List Class
Add an iterator to the Linked Ordered List Class
6. Sorting
Comparison of the different sorting algorithms via testing
7. Trees
8. Binary Search Trees
Build an array implementation of a binary search tree
9. Heaps and priority queues
Complete implementation of heap from textbook
Implement a priority queue using a heap
10. Hashing
Build a hashing application
11. Sets and maps
Programming an application using sets and maps
12. Graphs
Using graphs to solve maze problems
13. Modelling and Simulation
Build a queuing simulation

Use of Technology
 Java Interpreter via Dr Java IDE
 TRU network (Comp2230 folder on H: drive)
 Moodle

RESPECTFUL CAMPUS, HUMAN RIGHTS, BULLYING AND


HARASSMENT
TRU has a Respectful Campus policy and is required to adhere to the Human Rights, and Workers
Compensation Acts (Bullying and Harassment is a component of this Act). A summary of these
policies and acts are summarized below:
TRU’s goal is to promote a work and learning environment that is safe, friendly, and respectful for
everyone. TRU is committed to:
 Respect others, their beliefs, opinions, and feelings
 Ensure our conversation, behavior and language is appropriate for a public facility that
caters to all cultures, diversities, and age groups
 Preventing/addressing bullying and harassment on campus. The definition of bullying and
harassment includes any inappropriate conduct or comment by a person towards another that
the person knew or reasonably ought to have known would cause the other to be humiliated
or intimidated

You might also like