Elementary Data Structures and Algorithms

Course Description

Advanced syntax of high level language taught in CSC 130. Emphasis on modularization and abstraction. Big-O analysis of algorithms. Design and use of abstract data types with various implementations. Prerequisite: Grade of at least C- in CSC 130

Syllabus

Student Learning Outcomes, Goals, Objectives:

The goal of this course is to help students develop a strong foundation in elementary data structures, algorithms, and object-oriented programming using Java. Through lectures, programming assignments, and hands-on problem-solving activities, students will learn to design, implement, and analyze efficient software solutions using appropriate data structures and algorithmic techniques. The course emphasizes software design principles, modular programming, recursion, algorithm analysis, and the implementation of abstract data types. Students will also gain practical experience in applying these concepts to solve real-world computing problems.

Students successfully completing this course will be able to:

  • Apply object-oriented programming concepts, including abstraction, inheritance, and polymorphism, to develop modular software solutions.

  • Design and implement abstract data types (ADTs) using appropriate interfaces and Java classes.

  • Implement and evaluate fundamental data structures such as arrays, linked lists, stacks, queues, and recursive structures.

  • Analyze the efficiency of algorithms using asymptotic (Big-O) analysis.

  • Implement elementary searching, sorting, and recursive algorithms to solve computational problems.

  • Develop efficient, modular, and maintainable Java programs using sound software engineering practices.

  • Demonstrate problem-solving, debugging, testing, and documentation skills through programming assignments.

Course Grading Information:

Activity/Performance Measure

Percentage/Points

Quizzes

10%

Assignments

45%

Exam-I

15%

Exam-II

15%

Exam-III

15%

Grading Scale

Percentage

Letter Grade

94-100

A

90-93

A-

87-89

B+

84-86

B

80-83

B-

77-79

C+

74-76

C

70-73

C-

67-69

D+

64-66

D

60-63

D-

<59

F

Attendance/Participation:

Attendance/participation is not a graded component included in the student's final grade for this course.

Course Materials Purchased by the Students:

Introduction to Java Programming and Data Structures By Liang, Y. Daniel; Edition: 13th, Publisher: Pearson Co.; ISBN: 9780138123352

Scholarly Perspectives

This course engages diverse scholarly perspectives to develop critical thinking, analysis, and debate and inclusion of a reading does not imply endorsement.