Course introduction - Department of Computer Science

advertisement
COM S 228
Introduction to Data Structures
Instructor: Ying Cai
Department of Computer Science
Iowa State University
yingcai@iastate.edu
Office: Atanasoff 201
Office Hours: MW 3:00pm-4:00pm
Course Resources
Course management tool: Blackboard Learn




All announcement (e.g., assignments, due dates, and exam
location), clarifications and answers to common questions
about homework will be made available there
All programming assignments must be submitted electronically
via blackboard learn
So make sure you logon (https://bb.its.iastate.edu) and check
frequently
My slides: www.cs.iastate.edu/~yingcai/cs228
TAs


Shared with Dr. Jia and Dr. Fernández-Baca
Please check the syllabus posted on blackboard for the
complete list and their office hours and location
Contact

If you need to send an email to the instructor or the TAs,
please begin the subject line with “CS 228”
Text book (optional)
We will mainly rely on lecture notes, which
we may or may not post on line and/or on
time
For additional material you may look up
books such as Simon Gray's Data Structures
in Java, Addison-Wesley 2007 (textbook
used for Com S 228 in Fall 2011 and Spring
2012).
What this course is about
Object-Oriented Concepts
Some simple algorithms (e.g., sorting) and
their run-time analysis
Abstract data types

List, stack, queue, tree, heap, map, graph, etc.)
Implementation of ADT


Generics in Java
Collection Interface and Iterators
Course Objectives
At the end of this course, you are expected to





Write and debug well-structured object-oriented
programs of 2000 or more lines of Java code
Implement a Java class given a specification, and apply
OO principles such as encapsulation and inheritance
Understand abstract data types (ADTs) and know
common algorithms of manipulating these ADTs
Implement basic data structures in Java including
expandable arrays, linked lists, trees, heaps, and
hashtables
Understand some basic algorithms (e.g., sorting and
searching) and perform runtime analysis
Prerequisite: CS 227
The hardest part of this course is to have
solid knowledge of what you learned in CS
227
No student is allowed to take CS 228 without
taking CS 227 first
Grading (tentative)
Points
Grade
>=88
A
Item
Points
[83, 88)
A-
Exam 1
18
[78, 83)
B+
Exam 2
18
[70, 78)
B
Exam 3
30
[65, 70)
B-
About 5 Homework
34
[60, 65)
C+
Total
100
[55, 60)
C
[50, 55)
C-
[45, 50)
D+
[42, 45)
D
[39, 42)
D-
<39
F
This is to give you a rough
idea, subject to change ...
Homework
We expect to give 5 programming projects



All will be posted on blackboard
They will be more complex than those from CS 227
Due dates may overlap
Clarification thread



The homework specification may include design issues that
require further clarification and it is your job to identify such
issues and resolved them, in advance of the deadline
Clarification relevant to all students will be posted on
Blackboard in the “official clarification”
Check BB frequently: All clarifications posted more than 24
hours before the assignment deadline are considered part of
the homework specification
Homework Grading
Compilation and runtime errors



Use JDK 1.6 compiler
Code must compile; zero otherwise
You lose additional points for runtime errors
Documentation and style are important





Count for 10 to 20 percent of each assignment
Each class and method must have a complete and correctly
formatted javadoc comment
Duplicated code should be removed
Use nternal (//-style) comments appropriately (a comment
should precede the code it describes and indented to the
same level)
Use a consistent indentation and formatting style (Eclipse:
Ctrl-Shift-F)
Submission and feedback
Late assignments

In generally not accepted, except that programming assignments
may be turned in up to 24 hours late with a 25% grading penalty.
(weekends and university holidays are counted in the 24 hours)
Results will be returned via Blackboard Learn


If you feel an error has been made in grading your assignment,
you must make an appeal to the TA that graded it within one week
of the date when the results were made available in Blackboard
Learn
The appeal should be made during the TA's office hours, or by
email if you cannot attend the TA's office hours
Correct submission of an assignment is your
responsibility

Detailed instructions will be provided prior to the first due date.
Other Policies
Academic Honesty

Students who plagiarize other work in any part of
assignment/tests will receive F as the letter grade
for this course, and will be reported to the
university.
Disability

If you have a documented disability and anticipate
needing accommodations in this course, please
make arrangements to meet with me soon.
How to do well in this class
Attend all classes and recitations
Do all homework in a timely manner
Use your resources: instructors, TAs,
class notes
You have to write and run your own
programs
Ask questions
Mutual Contract
Instructor


I will provide information about programming
principles and practices to the best of my
knowledge
I will uphold my professional ethics
Students


I will participate in this course and practice
concepts learned through lectures, assignments,
and exams to the best of my ability
I will uphold academic honesty, professional
ethics and be a good class and world citizen
Download