Design Pattern Introduction in Data Structures Purpose  Natural integration of patterns into data structures education Plan  Cover traditional topics.

Slides:



Advertisements
Similar presentations
Microsoft® Office 2010 Fundamentals, 1/e
Advertisements

Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Long-term Evolution of AP® CS A Renee Ciezki SIGCSE 2013.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Application of Pedagogic Patterns to the Design of Distance Learning Materials Steve Wade University of Huddersfield.
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
SMART Goal All teachers should be able to recognize and implement 4 out of the 8 depth icons by the end of the workshop.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Design Patterns in Java Chapter 1 Introduction Summary prepared by Kirk Scott 1.
Data Structures and Algorithms – using JAVA Boro Jakimovski University of Sts Cyril and Methodius, Skopje.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
1 LAUSD BTSA Induction FACT Day 1 Training. Being a Support Provider is like… 2.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Cultural Diversity in Health Science Barry L. Rimpsey.
Academic Bug Patterns Stuart Hansen University of Wisconsin - Parkside.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Training Presentation Tier Design using an Event Driven.
1 Data Structures CSCI 132, Spring 2014 Lecture 1 Big Ideas in Data Structures Course website:
1 st Nations Project Presentation Example. Agenda 1. Agenda 2. Introduction of topic- How to do your 1 st nations presentation 3. Learning objectives.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Tutoring & Help Systems Deepthi Bollu for CSE495 10/31/2003.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Introduction Dr. Sallimah Salleh-Universiti Brunei Darussalam Workshop Format: Simulation of classroom Technological, Pedagogical, Content Knowledge (TPACK)
Open Math Module 3 Module 3: Approaches to Integrating OER into Math Instruction Planning Instruction with OER 1.0 Introduction.
Course Code : 15ECSC204 Object Oriented Progamming.
Design Concepts ch-8
CMSC201 Computer Science I for Majors Lecture 19 – Recursion
EECS3311 Software Design Summer 2016 Przemyslaw Pawluk
Unit II-Chapter No. : 5- design Patterns
CSC 222: Computer Programming II
WORKSHOP Computer Science Curriculum Development
* Type your subject here
Staff Training Type your subject here.
CMSC201 Computer Science I for Majors Lecture 18 – Recursion
Focus Element Helping Students Examine Their Reasoning
Exam Hints.
Questions and Questioning Strategies
CSE 5912 Student Presentations
Lecture 2 of Computer Science II
Discussion session by Dr Zahari Hamidon
INFS 2 h13attttttttttttttttttttttttttttt Network and Communications BOUNEDYEN SHANNAQ Room: 11G-3 Phone:
ECET 370 HELPS Education Your Life-- ecet370helps.com.
ECET 370 Lessons in Excellence-- ecet370.com. ECET 370 Entire Course (Devry) For more course tutorials visit ECET 370 Week 1 Lab 1 ECET.
ECET 370 HELPS Lessons in Excellence- -ecet370helps.com.
ECET 370 HELPS Education for Service- - ecet370helps.com.
Objects First with Java A Practical Introduction using BlueJ
Incorporating InTeGrate Materials into your Course and Syllabus
Systems Engineering Tool for Intelligent Transportation
Helping Students Examine Similarities and Differences
Object Oriented Design Patterns - Behavioral Patterns
Critically Evaluating an Assessment Task
Objects First with Java A Practical Introduction using BlueJ
System Analysis and Design
Teaching with angr: A Symbolic Execution Curriculum and CTF
Objects First with Java A Practical Introduction using BlueJ
INFS 277 Network and Communications BOUNEDYEN SHANNAQ Room: 11G-3 Phone:
Introducing Digital Technologies
Social Studies Inquiry in Arkansas
* Type your subject here
COP3530- Data Structures Introduction
Entry Guideline Template
Engineering Pathway.
CSCE156: Introduction to Computer Science II
For each of these data structures
OU BATTLECARD: E-Business Suite Courses and Certifications
Presentation transcript:

Design Pattern Introduction in Data Structures Purpose  Natural integration of patterns into data structures education Plan  Cover traditional topics in Data Structures  Introduce design patterns for producing reusable code  Have students work on a problem that lends itself easily to a design pattern.

Adapter Applicable topics in Data Structures  Deques, Stacks, Queues Problem  Implement a Stack class Solution  Use a Deque object and Stack interface.

Template Method Applicable topics in Data Structures  Binary tree traversal Problem  Provides a skeleton algorithm for traversal where desired behavior can be implemented as desired. Solution  See next slide.

Template Method Solution

Comparator (err… Strategy) Applicable topics in Data Structures  Priority Queues Problem  Create a generic implementation of a priority queue. Solution  Use of a derived class implementing specific methods.

Pedagogical Patterns What is a pedagogical pattern? What does that have to do with design patterns? How can the two patterns be brought together?

What is a pedagogical pattern? Pedagogy – the art or profession of teaching. Over 100 patterns dealing with teaching patterns. Range from daily instruction to broad overview of how classes can be taught.

What does this have to do with design patterns? Pedagogical patterns are analogous to teaching as design patterns are to programming. The purpose is to be able to teach expert knowledge at a level such that inexperienced people understand and learn.

Examples Early Bird Consistent Metaphor Fill in the blanks Fixer upper And many more…

Pedagogical Patterns Early Bird  Introduce and discuss major topics early in the course to reinforce important ideas Consistent Metaphor  Create a metaphor which the students can use as a reference for understanding Fill in the Blanks  Learn by reading and doing Fixer Upper  Students work on a large project which contains carefully placed errors to induce students to think about important concepts.

Teaching Fundamental Concepts Intent  To expose students to the fundamentals of good object-oriented design Structure of the Course  The instructor selects a design pattern that implements the concept  Discuss the design concept  Present the design pattern  Group work on a problem  Groups present solutions  Class discuss solutions  Individual practice/assignments

Teaching the concept behind a complex framework Intent  To introduce a design concept behind a complex framework or toolbox Structure  Mine patterns from the framework  Explain the concept  Describe the actual implementation  Hands on practice Examples  Microsoft Foundation Classes  Java AWT, Swing  Model-View-Controller

Discussion Questions?  Which is better? Elementary,Brute Force? Why?  Where do you think design patterns should be introduced?  Can you think of other ways of introducing design patterns?  Can you think of any other patterns we didn’t talk about here? Where have you used them before?  What patterns are very “natural”, i.e. which ones are just byproducts of the fact that you program?  Are there patterns that make up the patterns you are already familiar with?

References Definition of pedagogy  Integration of Design Patterns and Data Structures  Pedagogical Patterns   Pedagogical Patterns for Design Patterns  