CSCI3230 Syllabus
CSCI3230 Syllabus
CSCI3230 Syllabus
COURSE INFORMATION
Instructor: Dr. Y. Daniel Liang
Office: Science Center 272 Armstrong Campus
Office Phone: (912) 344 - 3264
email: [email protected]
Office Hours: Click https://yongdanielliang.github.io/spring2018/Officehours.htm
Text: Introduction to Java Programming and Data Structures. ISBN-13: 978-
0134167008
This is an online interactive text. You can purchase the access online or buy an
access card from the school bookstore or Amazon. The access code is good for
one year. You can sign up for multiple courses using the same access code
during this one-year period. The instructor will give you a URL for signing up
for the course.
Course URL: https://yongdanielliang.github.io/
PREREQUISITES
A minimum grade of C in CSCI 1302, MATH 2130.
CATALOG DESCRIPTION
New 3230 description: Introduction to abstract data types such as lists, stacks, queues, and trees, and algorithm
analysis. Prerequisite(s): A minimum grade of "C" in CSCI 1302, MATH 2130.
COURSE OBJECTIVES
As part of this course, students
will learn the concepts and techniques for recursion.
will learn how to parameterize data types using generics.
will learn how to measure the algorithm complexity using the Big O, Ω, and Θ notation.
will learn how to use classic data structures: array lists, linked lists, stacks, queues, priority queues, sets, maps,
binary trees, and hashing.
will learn how to implement data structures.
will learn graph algorithms and use them to solve practical problems.
COURSE OUTCOMES
Upon successful completion of this course, students will be able to
Understand O, Ω, and Θ and time/space complexity.
Ability to understand the concepts of lists, stacks, and queues, and to implement them using arrays/linked
structures.
Ability to understand, and to implement linear and binary searches
Ability to understand, program, and apply O(N^2), O(N*LN(N)) and possible other sorts of lists.
Understand the concept of divide and conquer wrt algorithms.
Understand the concept of a hash function and its application in search.
Understand concepts in graphs: directed/ undirected/ oriented, graphs and chains/ paths/ cycles.
Understand the concepts of weakly and strongly connected graphs.
Understand the concept of a tree, a forest, a singly rooted tree, and a binary tree
Understand the concept of ancestral relationships in trees
Understand the concept of a binary search tree, and modify a binary tree to a binary search tree
Ability to program preorder, inorder, and postorder binary tree traversals
Understand Dijkstra’s shortest path algorithm
Ability to understand the concept of a minimal spanning tree and to find a minimal spanning trees for a graph
CLASS
Class time will be used for short lectures, design examples, in class exercises, and quizzes and exams. Class
attendance is mandatory and students are responsible for all material covered in class. Missed work, quizzes, or
exams will receive a grade of zero. Class disruption (cell phones, sleeping, talking, etc.) during class will not be
tolerated. A warning will be given on the first instance and you will be asked to leave the class on any subsequent
instances.
GRADING
Grades will be determined from: attendance (5% Attendance will be checked regularly, but not for every class),
REVEL exercises (20%), LiveLab programming projects (20%), two exams (15% each), and final exam (25%).
Evaluation scheme is subject to change with a prior notice. Dates for exams will be announced in the class.
Attendance will be checked regularly. Missing classes frequently will be automatically dropped out of class.
Final grades will be based on the following scale: A (90 - 100), B (80 - 89), C (70 – 79), D (60 – 69), and F (< 60).
The instructor reserves the right to adjust the grading percentages and scale if necessary.
Extenuating circumstances that prevent timely submittal of work must be discussed with the instructor at least 24
hours in advance or cleared through the Office of the Dean of Students (including a death in the family, serious
injury, or illness). Students must supply appropriate documentation verifying the extenuating circumstances that
prevented a timely submittal of the assignment.
ASSIGNMENTS
Due dates for programming assignments will be announced in the class. Missed quizzes and late or missed
assignments will receive a grade of zero. Programming assignments must be done individually. Source file
printout must be submitted in the class on the due day regardless its status (complete or incomplete). In addition to
submitting a hard copy, students must also submit the programs to LiveLab. Your grades will be recorded on
LiveLab.
Students are expected to perform their work individually unless otherwise specified by the instructor. Plagiarism will
be checked by LiveLab. Students may discuss assignments in general terms with other students and may receive
assistance from the instructor or classmates. Assistance does not mean obtaining working designs or solutions and
modifying them; this is considered copying.
All instances of academic misconduct will receive a zero for the assignment and be reported to the Dean of Students.
A second instance of academic misconduct will result in an automatic F in the course and possible disciplinary
action.
ABSENCES
Class attendance is mandatory. Students who miss class due to illness will be counted as attending on LiveLab if
proper documents are given. Students registering after the semester begins are responsible for all missed
assignments and cannot expect that due dates will be altered.
EMAIL POLICY
For a prompt response, put CSCI 2410 in the subject of the email.
HELP
Before you ask for help on programs, explain to yourself what the program is doing step-by-step. When you visit me
during office hours, make sure you have already submitted your program on LiveLab and bring a printed copy of the
program. You can resubmit the program on LiveLab before it is due.
COMPUTER LABS
The following labs have the software necessary for this course: SC 129, SC 2016
Title IX Clause:
The university is dedicated to providing a safe and equitable learning environment for all students. Discrimination,
sexual assault, and harassment are not tolerated by the university. You are encouraged to report any incidents to the
Title IX Office in Victor Hall Room 245. This is important for the safety of the whole university community.
Another member of the university community – such as a friend, classmate, advisor, or faculty member – can help
initiate the report, or can initiate the report on behalf of another person. The University Counseling Center provides
24/7 confidential support, and the https://students.georgiasouthern.edu/counseling/ describes reporting options and
other resources.