Csc241 Data Structures and Algorithms
Spring 2017

Dr. Robert Kline
Office: 25 Univ. Ave. (UNA), #138
Phone: 610-436-2181

Office Hours for Spring 2017

Mo,Tu,We,Th 3:00–4:25
Data Structures and Algorithms in Java
Mark Allen Weiss, publisher: Pearson
3rd edition (isbn-13: 978-0-13-257627-7, isbn-10:0-13-257627-7)
2nd edition (isbn-10: 0-321-37013-9) is also acceptable
Data structures and related algorithms are studied using object-oriented programming, such as Java. Topics include data abstraction, recursion, lists, stacks, queues, linked lists, trees, hashing, searching and sorting algorithms, and the evaluation of algorithm efficiency. PREREQ: CSC 240, MAT 151 and 161.
This course teaches data structures with a strong focus on algorithm analysis. The Java programming language is the programming basis and NetBeans IDE is used for program development. One of the goals of the course is to study and understand the data structure classes and operations which make up the Java collections.

The course content relies on the online notes from the instructor's course website and closely follows the development of the material in the textbook. Topics include:
  • Sections 1.1 – 1.3 (math review), 2.1 – 2.4, 3.1 – 3.7. Online notes 1 - 5.
    • Algorithm analysis using the order language: O, Ω, etc.
    • Lists, Deques, Stacks, Queues via array-based and link-based implementations.
    • Stack-based algorithms for expression evaluation.
  • Sections 4.1 – 4.4, 5.1 – 5.6. Online notes 6 - 10.
    • Binary Trees, TreeSets, TreeMaps.
    • Hashing via open and closed implementations.
    • AVL Trees.
  • Sections 7.1 – 7.4, 7.6 – 7.9, 6.1 – 6.3, 7.5. Online notes 11 - 15.
    • Sorting algorithms and timing comparisons.
    • Priority Queues and Binary Heaps.
Your grade will be based on these factors:
  • 3 Tests: 70% (23.33% each)
  • Homeworks/Programs: 30%

Course Grades Evaluation results are normally returned within 2 class periods after a test or due date of homework/program. It is your responsibility to ask me for them if you miss the class when they are returned.

I do not post grades on D2L. You should be able to keep track of your own grades and compute your overall average. See Csc241 Course Grade.

The correspondence of a percentage to a letter grade is based on a standard formula:
PercentageLetter Grade
93 – 100A
90 – 92A-
87 – 89B+
83 – 86B
80 – 82B-
77 – 79C+
PercentageLetter Grade
73 – 76C
70 – 72C-
67 – 69D+
63 – 66D
60 – 62D-
0 – 59F

You are expected to behave in a responsible manner.
  • Unless you let me know in advance, STAY IN YOUR SEAT THE ENTIRE CLASS PERIOD.
  • If you miss a test, contact me by the day of the test and provide a valid reason for missing; otherwise, you will receive a failing grade for the test missed.
  • It is your responsibility to catch up if you miss a class. Missing more than 5 classes may make your final percentage grade be reduced by up to 7%.
The following are clear, measurable and observable outcomes from taking this course:
  • The student will learn to analyze and discuss properties of algorithms.
  • The student will learn to apply common programming techniques, particularly recursion, to searching, sorting and data structure operations.
  • The student will learn the data structures as is used in the Java Collections.
  • The student will be exposed to sophisticated programming and analysis techniques used in advanced data structures and algorithms.

Measuring and assessing student learning outcomes

  • Tests 1, 3 and Homeworks 1, 2 will measure and assess the competencies in student learning outcome (a).
  • Tests 2, 3 and Program 1 will measure and assess the competencies in student learning outcome (b).
  • Tests 2 and Programs 1, 2 will measure and assess the competencies in student learning outcome (c).
  • Tests 2, 3 and Programs 1, 2 will measure and assess the competencies in student learning outcome (d).

ABET-accredited programmatic student learning outcomes (see Curriculum Objectives)

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline.
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  • Students achieve proficiency in calculus, statistics, and discrete mathematics.
It is expected that faculty, staff, and students activate and maintain regular access to University-provided email accounts. Official university communications will be sent through this email account and you are responsible for obtaining such official communications. Failure to access this email account will not exempt individuals from the responsibilities associated with this course.
West Chester University will make accommodations for persons with disabilities. To know more about WCU's Services for Students with Disabilities (OSSD), contact the OSSD located at 223 Lawrence Center. See the website OSSD website. If you have a disability that requires accommodations under the Americans with Disabilities Act (ADA), please present your letter of accommodations to OSSD as soon as possible so that OSSD can support your success in an informed manner. Accommodations cannot be granted retroactively.
It is the responsibility of each student to adhere to the WCU's standards for academic integrity. Violations of academic integrity include any act that violates the rights of another student in academic work, that involves misrepresentation of your own work, or that disrupts the instruction of the course. Other violations include cheating on assignments or examinations; plagiarizing, which means copying any part of another's work and/or using ideas of another and presenting them as one's own without giving proper credit to the source; selling, purchasing, or exchanging of term papers; falsifying of information; and using your own work from one class to fulfill the assignment for another class without significant modification. Proof of academic misconduct can result in the automatic failure and removal from the course. For questions regarding Academic Integrity, or the Student Code of Conduct, students are encouraged to refer to the Computer Science web page, the Undergraduate Catalog, the Ram's Eye View, and the WCU website.
West Chester University and its faculty are committed to assuring a safe and productive educational environment for all students. In order to meet this commitment and to comply with Title IX of the Education Amendments of 1972 and guidance from the Office for Civil Rights, the University requires faculty members to report incidents of sexual violence shared by students to WCU's Title IX Coordinator. The only exceptions to the reporting obligation are when incidents of sexual violence are communicated by a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. Faculty members are obligated to report sexual violence or any other abuse of a student who was, or is, a person under 18 years of age when the abuse allegedly occurred to the official designated in the University protection of minors policy. Information regarding the reporting of sexual violence and the resources that are available to victims of sexual violence is set forth in the Social Equity website.
Students are encouraged to sign up for the University's free WCU ALERT service, which delivers official WCU emergency text messages directly to your cell phone. For more information, visit To report an emergency, call the Department of Public Safety at 610-436-3311.
Students are advised to read and comply with the excused absences policy for university-sanctioned events in the WCU Undergraduate Catalog. Please note that the responsibility for meeting academic requirements rests with the student. This policy does not excuse students from completing required academic work, and that professors can require a fair alternative to attendance on those days that students must be absent from class in order to participate in a university-sanctioned event.