ISC 241 – Data Structures

Number of Credit Hours: q 3 credits þ 4 credits

Number of Lecture Hours per Week: q 1 hour q 2 hours þ 3 hours

Number of Lab Hours per Week: q none q 2 hours þ 3 hours

Number of Tutorial Hours per Week: þ none q 1 hour q 2 hours

Catalog Description: The focus of this course is centered on the object-oriented programming style. The course covers the principles and the major concepts involved in object-oriented programming and the characteristics of object-oriented programming languages. Topics include data structures, sorting and searching algorithms, and basic software development techniques.

Prerequisites: ISC 240

Prerequisites by Topics: Object-oriented programming concepts using Java.

Text book:

·  Data Structures and Algorithms in Java, Michael T. Goodrich and Roberto Tamassia, John Wiley & Sons, Inc, 6th Edition, 2014.

References:

·  D. A. Bailey, Data Structures (2nd Edition) by Mc Graw Hill, 2005.

Assessment Plan for the Course:

Midterm Exams / 22 %
Quizzes / 3 %
Assignments / 10%
Project/Report/ Presentations / 10%
Lab / 25%
Final Exam / 30 %
Total / 100 %


Major Topics Covered in the Course:

Unit / Topic / No of teaching hours
1. / Object-oriented design and basic software development techniques This includes: Classes, objects, methods, attributes, inheritance, polymorphism, and interfaces and abstract classes, development phases, UML diagrams. / 4.5
2. / Data structures including: arrays, linked lists, stacks, queues, trees, and graphs / 22.5
3. / Searching algorithms / 4.5
4. / Sorting algorithms / 4.5

Course Learning Outcomes:

Upon completion of the course, students will be able to:

C1  Comprehend and characterize the major concepts involved in object-oriented programming

C2  Employ different types of data structures such as arrays, lists, stacks, queues, trees, and graphs

C3  Examine different tree traversal techniques such as depth-first, breadth-firs, inorder, preorder, and postorder

C4  Analyze sorting and searching algorithms using the Java Language

C5  Describe the basic software development techniques

Relationship between Course Learning Outcomes and Student Outcomes:

Course Learning Outcomes / Unit of the syllabus / Possible artifacts / Level / Student Outcomes
C1 / Unit 1 / Assignments, Quizzes, lab exercises, project, midterms / L / (a)
C2 / Unit 2 / Assignments, Quizzes, lab exercises, project midterms, final exam / H / (a)
C3 / Unit 2 / Assignments, Quizzes, lab exercises, project, midterms, final exam / M / (a)
C4 / Unit 3 and 4 / Assignments, Quizzes, lab exercises, final exam / H / (a)
C5 / Unit 1 / Assignments, project, midterms, final exam

·  Level of emphasis for an outcome is determined based on the weight as follows:

o  A CLO is ranked Low (L), if the CLO covers less than 10 % of course syllabus.

o  A CLO is ranked Medium (M), if CLO covers 10 – 20 % of course syllabus.

o  CLO is ranked High (H), if CLO covers more than 20 % of course syllabus.

Estimate Curriculum Category Content (Semester hours)

Area / Core / Advanced / Area / Core / Advanced
Modern Programming Language / 4 / Networking and
Data Communications
Data Management / Systems Analysis and Design
Role of IS in an Organization / Quantitative Analysis
Information Systems Environment / Others (specify *)

(*) Knowledge domain description

Area / Semester hours
GE

Prepared by: Dr. Jehad Al Dallal

Revised by: Prof. Mostafa

isc Student Outcomes:

The program enables students to achieve, by the time of graduation:

(a)  An ability to apply knowledge of computing and mathematics appropriate to the discipline

(b)  An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution

(c)  An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs

(d)  An ability to function effectively on teams to accomplish a common goal

(e)  An understanding of professional, ethical, legal, security, and social issues and responsibilities

(f)  An ability to communicate effectively with a range of audiences

(g)  An ability to analyze the local and global impact of computing on individuals, organizations and society

(h)  Recognition of the need for, and an ability to engage in, continuing professional development

(i)  An ability to use current techniques, skills, and tools necessary for computing practices

(j)  An understanding of and an ability to support the use, delivery, and management of information systems within an Information Systems environment

3