Sei sulla pagina 1di 8

Syllabus

Department of Computer Science

Course Information

Code: CSC 121


Title: Data Structures
Credits: 4 units
Pre-requisite: CSC 101
Co-requisite: None
Contact Hours: 3 hours per week lecture and 3 hours per week computer laborabory
Description: Basic data structures; linear lists, stacks, queues, trees, sets, graphs; program-
ming techniques for processing such structures; recursive programming; analysis of
algorithms.

Rationale

To develop a solid understanding of a data structure requires several things. One must
understand how data is stored in the computer memory. The other is learning algorithms
in manipulating the data contained in the data structure. Most importantly, the focus
of this course is to make the student understand the performance characteristics of the
data structure so that when called upon to select a suitable data structure for a particular
application, the student can make an appropriate decision.

Learning Outcomes

By the end of the course, students should be able to:

LO1. Gain understanding of data structures such as list, stacks, queues, trees, sets, graphs,
including their design, implementation and use.
LO2. Analyze and explain the trade-offs of the different design and implementation
LO3. Gain proficiency in processing the data structures through searching and sorting
LO4. Build and traverse trees and graphs using recursion

These learning outcomes support the following Student Outcomes:

SO1. An ability to apply knowledge of computing and mathematics appropriate to the


discipline of Computer Science
SO2. An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution.
SO3. An ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet the desired needs.

1
S10. An ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
demonstrates comprehension of the trade-offs involved in the design choices.
S11. An ability to apply design and development principles in the construction of software
systems of varying complexity, in accordance with applicable standards.

Performance Indicators

As evidence of attaining the above learning outcomes, students are required to do and/or
submit the following during the indicated dates of the term. The rubrics for these outputs
are provided.

LO Code Required Outputs


LO1 RO1 An essay of the benefits of data abstraction
RO2 Implementation of the data structures in an imperative or functional
programming language
RO3 Simple programs demonstrating application of the data structures
LO2 RO4 Manifestation of the basic understanding of big Oh and the notions
of omega Oh (lower bound), theta Oh (upper bound) and little Oh
(tight bound)
RO5 Judgement ability of the performance trade-offs across different
designs
LO3 RO6 Application programs incorporating the different search techniques
in at least two data structures discussed in the classroom
RO7 Computer programs applying the different sorting methods in at
least two data structures
LO4 RO8 Implementation of the traversal methods to trees and graphs

Methods of Assessment

The learning outcomes for this course will be assessed through

1. Course/homework assignments
2. Examinations and quizzes
3. Standardized tests
4. Laboratory Exercises / Machine Problems

Scoring Rubrics

The core computing courses under the BSCS curriculum are classified into the following
activities:

1. Computer programming
2. Written and oral discussions
3. Term papers or case studies

The course CSC 121 involves items 1 and 2 of of these activies. The scoring rubrics are the
following: each of these activities.

2
Computer Programming

1. Specifications
a. (Exceptional) The program works and meets all of the specifications.
b. (Acceptable) The program works and produces correct results and displays
them correctly. It also meets most of the other specifications.
c. (Amateur) The program produces correct results but does not display them
correctly.
d. (Unsatisfactory) The program is producing incorrect results.
2. Readability
a. (Exceptional) The code is exceptionally well organized and very easy to follow.
b. (Acceptable) The code is fairly easy to read.
c. (Amateur) The code is readable only by someone who knows what it is supposed
to be doing.
d. (Unsatisfactory) The code is poorly organized and very difficult to read.
3. Reusability
a. (Exceptional) The code could be reused as a whole or each routine could be
used.
b. (Acceptable) Most of the code could be reused in other programs.
c. (Amateur) Some part of the code could be reused in other programs.
d. (Unsatisfactory) The code is not organized for reusability.
4. Documentation
a. (Exceptional) The documentation is well written and clearly explains what the
code is accomplishing and how.
b. (Acceptable) The documentation consists of embedded comment and some
simple header documentation that is somewhat useful in understanding the
code.
c. (Amateur) The documentation is simply comments embedded in the code with
some simple header comments separating routines.
d. (Unsatisfactory) The documentation is simply comments embedded in the code
and does not help the reader understand the code.
5. Delivery
a. (Exceptional) The program was delivered on time.
b. (Acceptable) The program was delivered within a week of the due date.
c. (Amateur) The code was within 2 weeks of the due date.
d. (Unsatisfactory) The code was more than 2 weeks overdue.
6. Efficiency
a. (Exceptional) The code is extremely efficient without sacrificing readability and
understanding.
b. (Acceptable) The code is fairly efficient without sacrificing readability and
understanding.
c. (Amateur) The code is brute force and unnecessarily long.
d. (Unsatisfactory) The code is huge and appears to be patched together.

Criteria Weight
Specifications 20%
Readability 20%

3
Criteria Weight
Reusability 20%
Documentation 10%
Delivery 10%
Efficiency 20%
TOTAL 100%

Essay

1. Relevance of answer to the question


a. (Exceptional) Answer is complete; sufficient detail provided to support asser-
tions; answer focuses only on issues related to the question; actually correct
b. (Acceptable) Answer is brief with insufficient detail. Unrelated issues were
introduced and/or minor errors in content.
c. (Amateur) Answer is incomplete. Excessive discussion of unrelated issues
and/or significant errors in content.
d. (Unsatisfactory) The essay did not answer the question.
2. Thoroughness of answer
a. (Exceptional) Deals fully with the entire question.
b. (Acceptable) Most of the basic details are included but some are missing.
c. (Amateur) Serious gaps in the basic details needed.
d. (Unsatisfactory) None of the relevant details were included.
3. Organization and logic of answer
a. (Acceptable) Clear and logical presentation; good development of an argument;
Transitions are made clearly and smoothly.
b. (Amateur) Minor problems of organization or logic; Needs work on creating
transitions between ideas.
c. (Unsatisfactory) Weak organization; sentences rambling; ideas are repeated.
4. Mechanics of writing (spelling, punctuation, grammar, clarity of prose)
a. (Acceptable) Clear, readable, prose. Good use of transitions; no problems with
spelling, punctuation,or grammar.
b. (Amateur) Frequent problems with mechanics of language; Occasional awkward
sentences and poor transitions; reduce readability.
c. (Unsatisfactory) Major problems with mechanics of language; Awkward sen-
tence construction; Poor or absent transitions; Frequently difficult to understand.

Criteria Weight
Relevance 30%
Thoroughness 30%
Organization 20%
Mechanics 20%
TOTAL 100%

Written/Oral Discussion

1. Active Participation

4
a. (Exceptional) Actively and regularly contributes to discussion; Initiates discus-
sion on issues related to class topic.
b. (Acceptable) Voluntarily contributes to discussion without prompting.
c. (Amateur) Few contributions; Seldom volunteers but responds to direct queries.
d. (Unsatisfactory) Absent. Does not contribute.
2. Relevance of Participation to topic under discussion
a. (Exceptional) Contributions are relevant and promote in-depth analysis of mate-
rial.
b. (Acceptable) Contributions are always relevant to discussion.
c. (Amateur) Contributions are sometimes off-topic or distracting.
d. (Unsatisfactory) Contributions are off-topic or distract class from discussion.
3. Evidence of level of preparation
a. (Exceptional) Consistently well-prepared; Investigates and shares relevant ma-
terial not explicitly assigned.
b. (Acceptable) Clearly read and thought about the material in advance of class.
c. (Amateur) Appears to have read the material, but not closely or did not read all
material.
d. (Unsatisfactory) Not adequately prepared; Does not appear to have read the
material in advance of class.
4. Listening/Cooperation
a. (Exceptional) Models good classroom citizenship. Listens without interrupting.
Responses to others are appropriate. Promotes active participation by others.
b. (Acceptable) Participates regularly without monopolizing; Listens and responds
to contributions of others.
c. (Amateur) Participates occasionally; Does not respond to contributions of others.
d. (Unsatisfactory) Inattentive or makes inappropriate or disruptive comments.

Criteria Weight
Participation 30%
Relevance 30%
Preparedness 20%
Listening/Cooperation 20%
TOTAL 100%

Grading System

Exams

There will be three major exams with respective total scores and schedules to be determined
and agreed in the class.

Quizzes

Quizzes will be given any time during the regular class schedules. A rubric may be used
to rate the answers.

5
Laboratory Activities

Laboratory activities will be assessed with the programming rubrics.

Grading Scheme

The rate will be determined based on the following scheme:

Measurement Weight
Prelim Exam 20%
Midterm Exam 20%
Final Exam 20%
Quizzes 15%
Laboratory Activities 25%
TOTAL 100%

The student should be able to get the minimum rate of 60% to pass the course. The rate is
mapped to the actual grade based on the following scale:

Rate Scale Grade


95.64 100+ 1.0
91.18 95.63 1.25
86.73 91.17 1.5
88.27 86.72 1.75
77.82 82.26 2.0
73.36 77.81 2.25
68.91 73.35 2.5
64.45 68.90 2.75
60.00 64.44 3.0
below 59.99 5.0

Course Outline

Week Topics
1 Introduction: What are the benefits of data abstraction
2 Asymptotic notation and analysis
3 Arrays
4 Linear Lists
5 Linkedlist
6 Analysis of Arrays vs Linkedlist
7 Stack
8 Queue
9 Trees and Binary Tree
10 Binary Search Tree and AVL Trees
11 Recursion and Tree Traversals
12 Sets
13 Graphs
14 Graph Algorithms and Traversals
15 Searching algorithms
16 Sorting algorithms: Insertion, Binary
17 Sorting algorithms: Selection, Distribution

6
Week Topics
18 Final Exam

Learning Plan

LO Week Method of Delivery Method of Assessment


LO1 123 Lecture, Oral Discussion Quizzes, Assignments, Oral
Questioning
LO1 45678 Lecture, Oral Discussion, Quizzes, Programming, Essay
LO2 9 Guided Programming, Video Assignments, Exam, Oral
Showing Questioning
LO1 10 11 12 Lecture, Oral Discussion, Quizzes, Programming
LO2 Guided and Independent Exercises, Essay
LO3 Programming
LO1 13 14 Lecture, Independent Quizzes, Programming
LO3 Programming Exercises, Exam
LO4 15 16 17 Lecture, Oral Discussion, Quizzes, Programming
Independent Programming, Exercises, Essay
Video Showing
18 Exam

Textbook and Suggested Readings

a. Required

1. Neapolian, Richard, Foundations of Algorithms (4th edition), Jones & Bartlett


Learning (2011). ISBN 978-0763782504
2. Malik, D. S., Java Programming: From Problem Analysis to Program Design,
Cengage Learning (2012). ISBN 978-1111530532

b. Optional

1. Collins, William J., Data Structures and the Standard Library, McGraw-Hill
(2003). ISBN 978-0070487086
2. Bailey, Duane A., Java Structures: Data Structures in Java for the Principled
Programmer, McGraw-Hill (2003). ISBN 978-0072399097

Policies

1. Your instructor may or may not explicitly check attendance every day. However, if
you are caught exceeding your allowable cuts for the semester, you may be given a
grade of 5.
2. In case you cut, it will be your responsibility to know the material covered for the
day. The instructor reserves the right to give unannounced quizzes or graded lab
exercises at any time.
3. No makeup tests will be given unless you can present a medical certificate or an
immediate member of your family died. Make up tests will solely be on the teachers
discretion.
4. Playing games is strictly prohibited during class hours. Web browsing and doing
email are also prohibited, unless done in connection with the current lecture or lab
topic and allowed by the teacher.

7
5. Use of communication devices is prohibited during class hours. Please turn them off
during class.
6. Class requirements are due during class hours, unless otherwise specified. Late
submission will merit deductions as specified by the teacher.
7. Cheating will not be tolerated. Cheating in any requirement will result in a minimum
penalty of having a grade of 0 for that requirement. Duplicated projects/lab exercises
will merit penalties for both the student who copied and the student from whom the
work was copied.
8. Additional policies, with due consultation with the students, may be implemented
by the teacher to adapt to the class environment. Students are advised to be aware of
such updates, and to ask their instructor if anything is unclear.

Civility in the Classroom

Students are expected to assist in maintaining a classroom environment that is conducive


to learning. To ensure that all students have the opportunity to gain from time spent in
class, faculty members are encouraged to include a statement in their course syllabi relating
to behavioral expectations in the classroom.

Students with Disabilities

Any student who, because of a disability, may require special arrangements in order to
meet the course requirements should contact the instructor as possible to make necessary
arrangements. Students must present appropriate verification from Institute Clinic during
the instructors office hours. Please note that instructors are not allowed to provide
classroom accommodation to a student until appropriate verification from Institute Clinic
has been provided.

Disclaimer

Contents of this syllabus are subject to change without notice.

Potrebbero piacerti anche