Computer Engineering Department Islamic University of Gaza

Slides:



Advertisements
Similar presentations
1 Computer Engineering Department Islamic University of Gaza ECOM 5347 Network Security Undergraduate Course Fall Prof. Mohammad A. Mikki Room.
Advertisements

5/19/2015CS 2011 CS 201 – Data Structures and Discrete Mathematics I Syllabus Spring 2014.
Jan Welcome to the Course of Data Structures and Algorithms.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
METU Computer Engineering Department
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
1 Computer Engineering Department Islamic University of Gaza ECOM 6301: Advanced Computer Architectures (Graduate Course) Fall 2013 Prof. Mohammad A. Mikki.
1 Computer Engineering Department Islamic University of Gaza ECOM 5347 Network Security Undergraduate Course Fall 2013 Prof. Mohammad A. Mikki Room I215.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
ECOM 6360 Programming of Mobile Devices
1 CS 233 Data Structures and Algorithms 황승원 Fall 2010 CSE, POSTECH.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
COMPE 226 Data Structures 2015 Fall Murat KARAKAYA Department of Computer Engineering.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Electronic Drafting DFT 58A&B Cliff Monroe - Instructor.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
1 ECOM 5341 Programming of Mobile Devices Spr Lecture 1 Syllabus and Course Overview Computer Engineering Department Islamic University of Gaza.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
CENG 213 Data Structures1 Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CENG 213 Data Structures Nihan Kesim Çiçekli
CENG 707 Data Structures and Algorithms
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
COMP9024: Data Structures and Algorithms
ECOM 6301: Advanced Computer Architectures
CSc 020: Programming Concepts and Methodology II
CENG 213 Data Structures Nihan Kesim Çiçekli
CENG 213 Data Structures Dr. Cevat Şener
Jeremy Bolton, PhD Assistant Teaching Professor
CS5040: Data Structures and Algorithms
Introduction of ECE665 Computer Algorithms
CSC 111 Course orientation
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
CS 201 – Data Structures and Discrete Mathematics I
CS 201 – Data Structures and Discrete Mathematics I
Lecture 1: Introduction
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
CENG 213 Data Structures Nihan Kesim Çiçekli
Introduction to CS II Data Structures
Week # 1: Overview & Review
Computer Engineering Department Islamic University of Gaza ECOM 5347
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
Computer Engineering Department Islamic University of Gaza
CS Computer Science II: Data Structures and Abstraction Fall 2009
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

Computer Engineering Department Islamic University of Gaza ECOM 3312 Data Structures and Algorithms Undergraduate Course Fall 207-2018 Prof. Dr. Eng. Mohammad A. Mikki mmikki@iugaza.edu.ps Computer Engineering Department Chair College of Engineering Islamic Universoity of Gaza, Gaza, Palestine Homepage: http://site.iugaza.edu.ps/mmikki Tel.: +970-08-2644400 Ext. 2883 Skype ID: Mohammad.mikki

Syllabus & Course Overview Lecture 1 Syllabus & Course Overview

Instructor Prof. Dr. Eng. Mohammad A. Mikki mmikki@iugaza.edu.ps Computer Engineering Department Chair College of Engineering Islamic Universoity of Gaza, Gaza, Palestine Homepage: http://site.iugaza.edu.ps/mmikki Tel.: +970-08-2644400 Ext. 2883 Skype ID: Mohammad.mikki

Where to find me Admin. Building Room B323

Office Hours To be announced and by appointment

Teaching Assistants To be announced

Course Information Course Code: ECOM 3312 Course Name: Data Structures and Algorithms (Undergraduate Course) Number of credits: 3

Course Description The course covers the fundamentals of data structures and object-oriented programming. They are two sides of the same coin: As a programmer becomes more proficient, they realize that how well and efficiently a problem can be solved often depends on how the data are stored. Some of the ideas are quite sophisticated and clever, and we'll explore a spectrum of them in this class, ranging from fairly basic to moderately advanced structures. The other side is that once one realizes the importance of data structures, it is natural to think of programs not as sequences of instructions that pass around some data, but as data packets that come with the code needed to process them. This is at the heart of the object-oriented design paradigm, and often leads to more modular and extensible (and readable) programs. We will learn about the basics of object-oriented programming, along with many of the interesting things that can be naturally done within the paradigm. The class will put significant emphasis on a theoretical understanding of data structures, their implementation, and the object-oriented viewpoint. Assignments will contain significant programming projects along with programming-free questions to explore how data structures work

Course Learning Outcomes After the successful completion of the course, the student will have the: Ability to choose appropriate and efficient data structures and algorithms to solve a problem. Ability to compare data structures and algorithms for efficiency using algorithm analysis and experiments. Ability to apply algorithm analysis and knowledge of discrete mathematics to evaluate algorithms and data structures. Ability to implement and use linear data structures, including stacks, queues, lists Ability to implement and use search structures and algorithms including binary search, search trees, and hash tables. Ability to use and implement search data structures, including search trees and hash tables. Ability to use and implement priority queues. Knowledge of and ability to implement sorting algorithms and compare their performance analytically and empirically Understanding of graphs and their representations; ability to implement graph search using BFS, DFS, and Dijkstra's Algorithm. Ability to solve problems using pointers and dynamically managed memory. Ability to write recursive functions and understand when recursion is appropriate to a problem. Ability to design, document, and implement classes and object hierarchies. Ability to apply tools and techniques for program correctness, such as unit testing, use of a symbolic debugger, and assert statements. Ability to write readable and maintainable code. Ability to explain computational solutions in person and in writing.

Prerequisites “Introduction to Programming” course “Introduction to Computing” course

Course Website The common syllabus is posted on the course webpage at http://moodle.iugaza.edu.ps and My homepage    http://site.iugaza.edu.ps/mmikki/ Please check this webpage at least once a week for: lecture notes Assignments and exams Assignments and exams solutions Useful links Supplementary material, and Announcements Your instructor will provide and/or post a revised version of the course syllabus with additional information stating his policies for the course, such as attendance policy, labs and assignments submission policy, quizzes policy, and others. Please check with your instructor.

Useful Links CS104 – Spring 2015: Data Structures and Object Oriented Design, University of Southern California bits.usc.edu/cs104 CS 302 Data Structures, Department of Computer Science & Engineering, UNR, Spring 2015 http://www.cse.unr.edu/~mgunes/cs302/ CS 32: Introduction to Computer Science II, Computer Science Department, University of California, Los Angeles, Winter 2015 http://cs.ucla.edu/classes/winter15/cs32/ http://www.csce.uark.edu/~jgauch/2014/slides/

Class Information 201 101 Section Sun, Tue Days 14:00-15:30 12:30-14:00 Time L401 K407 Location

Required Textbook and Material Title: Data Structures and Algorithms in Java, Sixth Edition, Authors: Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, Publisher: John Wiley & Sons, Inc., 2014 ISBN: 978-1-118-77133-4 (paperback) The textbook is required. While the class will not always follow the order or presentation style of the textbook, the textbook is an excellent source for much of the material.

Additional Material In addition to the textbook and lecture notes, we strongly recommend that each student has access to a quality book on the Java programming language

Class Expectations Class attendance Text reading in advance Class participation Working hard

Class Schedule Week Topic Assignments 1 Sat. 09.Sep. (Start day of classes) Course Syllabus & Overview Ch. 3: Fundamental Data Structures Using Arrays (Goodrich_6e_Ch03_Arrays.ppt) 2 Sat. 16.Sep. Singly Linked Lists (Goodrich_6e_Ch03_LinkedLists.ppt) Circularly Linked Lists (Dr.Mikki-Ch3-CircularlyLinkedLists.ppt) 3 Sat. 23.Sep. Doubly Linked Lists (Goodrich_6e_Ch03_DoubleLists.ppt) 4 Sat. 30.Sep. Ch. 4: Algorithm Analysis (Goodrich_6e_Ch04_Analysis.ppt) Quiz#1 on Linked Lists

Class Schedule Week Topic Assignments 5 Sat. 07.Oct. Ch. 6: Stacks, Queues, and Deques Stacks (Goodrich_6e_Ch06_Stacks.ppt) Quiz#2 on Algorithm Analysis 6 Sat. 14.Oct. Queues, and Deques (Goodrich_6e_Ch06_Queues.ppt) Quiz#3 on Stacks 7 Sat. 21.Oct. Ch.7: List and Iterator ADTs (Goodrich_6e_Ch07_Lists.ppt) Quiz#4 on Queues and Dequeue 8 Sat. 28.Oct. Ch. 8: Trees General Trees (Goodrich_6e_Ch08_Trees.ppt) Binary Trees (Goodrich_6e_Ch08_Trees.ppt) Quiz#5 on Lists and Iterator ADTs

Class Schedule Week Topic Assignments 9 Sat. 04.Nov. – Thu. 09.Nov. الامتحانات النصفية للفصل الأول 2017/2018م 10 Sat. 11.Nov. Ch. 8: Trees Implementing Trees (Goodrich_6e_Ch08_Trees.ppt) Tree Traversal Algorithms (Goodrich_6e_Ch08_Trees.ppt) 11 Sat. 18.Nov. Ch. 10: Maps, Hash Tables, and Sip Lists Maps (Goodrich_6e_Ch10_Maps.ppt) Quiz#6 on Trees 12 Sat. 25.Nov. Hash Tables (Goodrich_6e_Ch10_HashTables.ppt) Quiz#7 on Maps 13 Sat. 02.Dec.

Class Schedule Week Topic Assignments 14 Sat. 09.Dec. Ch. 14: Graph Algorithms Data Structures for Graphs (Goodrich_6e_Ch14_Graph.ppt) Graph Traversals (Goodrich_6e_Ch14_BFS.ppt, Goodrich_6e_Ch14_DFS.ppt) Quiz#8 on Hash Tables 15 Sat. 16.Dec. Transitive Closure Shortest Paths (Goodrich_6e_Ch14_ShortestPath.ppt) Quiz#9 on Graph Traversals 16 Sat. 23.Dec. Minimum Spanning Trees (Goodrich_6e_Ch14_MST.ppt) Quiz#10 on Shortest Paths Sat. 30.Dec. بداية الامتحانات النهائية للفصل الأول 2017/2018

Assessment (Grading) Criteria Attendance and class participation 10% Quizzes Midterm Exam 20% Final exam 40% Discussion (TA)

Attendance Class attendance is required and very important for successful completion of the course. Students are expected to attend and participate in every class which is interpreted as the entire class period and lab period. Excused absences must be planned for, when possible, and justified with documentation. The student is responsible for making up missed class/lab sessions. Late arrival that causes disruption, early departure that causes disruption, excessive conversation among students, and other actions that disrupt the classroom are unacceptable.

Use of Laptops Use of laptops/PDAs/Tablets and other electronic devices during the class is not allowed.

Mobile Phones In order to minimize the level of distraction, all mobile phones must be on quiet mode during class meeting times.

Any Questions ?