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:
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 OutcomesC1 / 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 / AdvancedModern 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 hoursGE
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