Programming Education - a personal interpretation

Size: px
Start display at page:

Download "Programming Education - a personal interpretation"

Transcription

1 Objects First Programming Education - a personal interpretation Jens Bennedsen It-vest networking universities, Denmark [email protected] Me 20 years of teaching experience introductory programming for 20 years introductory object-oriented programming for 15 years Published 20+ articles in the area of computer science education Some in collaboration with Carsten Writing up my ph.d. thesis Teaching and learning programming g a model-based approach Free University, Berlin, Germay Objects First Programming Education 2 Jens Bennedsen,

2 Outline of the talk What is objects first? CC2001 Model-driven programming program in context Object-oriented conceptual framework There is more to OO than Java A model-driven introductory programming course progression, teaching material, assignments, final exam,... Mediation of the programming process How to unfold the programming process? Free University, Berlin, Germay Objects First Programming Education 3 CC2001 CC-2001 describes three approaches to a program- ming first curriculum imperative-first functional-first objects-first John Lewis: Myths about Object-Orientation and Its Pedagogy SIGCSE 2000, p Free University, Berlin, Germay Objects First Programming Education 4 Jens Bennedsen,

3 Programming Education in Perspective Programming Education Programming Education = Programming Methodology + Pedagogical Design + Programming Tools Programming Methodology Programming Methodology = Theory/Techniques + Process Pedagogical g Design = Organization + Dissemination Pedagogical Design Programming Tools = Language + Environment Programming Tools Free University, Berlin, Germay Objects First Programming Education 6 Jens Bennedsen,

4 Many factors influence learning Evaluation Student s learning premises External conditions Learning process Objectives Content Hiim & Hippe 2006 Free University, Berlin, Germay Objects First Programming Education 7 Programming Methodology = Theory/Techniques + Process Theory/Techniques model-driven development design by contract (assertions) patterns... Programming Methodology Process incremental development non-linearity refactoring test... Pedagogical Design Free University, Berlin, Germay Objects First Programming Education 8 Jens Bennedsen,

5 Pedagogical Design = Organization + Dissemination Organization graduated exposure to complexity spiral, early bird, fill in the blanks apprenticeship... Programming Methodology Dissemination text labs videos lectures net-based learning objects Pedagogical Design Free University, Berlin, Germay Objects First Programming Education 9 A Conceptual Framework for Object-Oriented Programming There is more to OO than Java... Jens Bennedsen,

6 Kristen Nygaard on Object-Orientation A program execution is regarded as a physical model system simulating the behavior of either a real or imaginary part of the world. Physical modeling is based upon the conception of reality in terms of phenomena and concepts. A physical model system is constructed, modeling phenomena by objects and concepts by categories of objects. Kristen Nygaard, Free University, Berlin, Germay Objects First Programming Education 11 Three Perspectives on Programming Instructing the computer (coding) the purpose of programming is to instruct the computer focus is on aspects of program execution such as storage layout, control flow, parameter passing, etc. Managing the program description the purpose of programming is to create a software architecture that provides overview and understanding of the entire program focus is on aspects such as visibility, scope, encapsulation, modularity, software design etc. Conceptual modeling the purpose of programming is to express concepts, structure and relations focus is on constructs for describing concepts, phenomena and relations between these Free University, Berlin, Germay Objects First Programming Education 12 Jens Bennedsen,

7 Conceptual Modelling Conceptual model modelling Specification model abstraction abstraction Problem/vision concerning phenomenons Program, language, g OS, machine Problem domain Model Free University, Berlin, Germay Objects First Programming Education 13 Overview Conceptual framework for object-orientation Concepts and modelling Structure: aggregation, association, specialization is used for organizing knowledge about a problem domain and structure in the solution domain Is (to some extend) supported by language constructs in OO languages Modelling examples Abstract models in UML Implementation in Java Smaller examples from textbook [Barnes & Kölling] which does not explicitly present the models... Free University, Berlin, Germay Objects First Programming Education 14 Jens Bennedsen,

8 Association (X-a) Relation that describes a dynamic relation between concepts that can exist independently of each other. MailServer keeps MailItem Person owns Person rents Car Car Person loves Person Person is-friend-with Student is-enrolled-at Person Course Patient have-had Disease Free University, Berlin, Germay Objects First Programming Education 15 Association in UML MailServer keeps * MailItem Person owns * 0..1 owned can-drive * Car Student takes * * Course Multiplicity (cardinality): 0..1, 1, n, a..b, 0..* (*) Role Orientation (1-way, 2-way) Free University, Berlin, Germay Objects First Programming Education 16 Jens Bennedsen,

9 Association in UML (X-a) X = keeps MailServer howmanymessages(string who): int getnextmailitem(string who): MailItem post(mailitem item) 0..* MailItem from: String to: String message: String getfrom(): String getto(): String getmessage(): String print() Free University, Berlin, Germay Objects First Programming Education 17 Association in Java class MailServer { } Set<MailItem> messages; public MailServer() { messages = new HashSet<..>(); } public int howmanymessages (String who) {... } public MailItem getnextmailitem tmailitem (String who) {... } public void post(mailitem item) {... } class MailItem { private String to; private String from; private String message; public MailItem(... ) {... } public String getfrom() {... } public String getto () {... } public String getmessage() {... } public void print() {... } } Free University, Berlin, Germay Objects First Programming Education 18 Jens Bennedsen,

10 Systematics in OOP Modelling from problem description to conceptual model refinement of conceptual model to specification model (method signatures and specifications) Implementation structurally: from specification model to Java code (automatically) body: attributes t and methods (creativity it and systematics) ti Problem domain Free University, Berlin, Germay Objects First Programming Education 19 Hand-in-Hand Modeling and Coding (1) David Gries (Edsger W. Dijkstra) the loop body and the loop invariant is developed hand-in-hand with the latter leading the way We (Kristen Nygaard) coding and class modeling is done hand-in-hand with the latter leading the way Design by contract and systematic programming a class model is a design contract in precisely the same way as a loop invariant is code is introduced on purpose (fulfilling the contract) Free University, Berlin, Germay Objects First Programming Education 20 Jens Bennedsen,

11 Programs as models K. Nygaard A program execution is regarded as a physical model system E.W. Dijkstra It s not the purpose of our programs to instruct the computer; it s the purpose of the computer to execute our programs Free University, Berlin, Germay Objects First Programming Education 21 Contents and Progression Traditional approach typical textbooks only address the first and to some extend the second perspective topics are organized according to the syntactical structures in the programming language (bottom-up) tendency to completeness in coverage of topics syntax-driven progression Our approach a balanced coverage of all three views conceptual modeling is leading the way systematic programming (killing rabbits) early bird & spiral approach model-driven progression Free University, Berlin, Germay Objects First Programming Education 22 Jens Bennedsen,

12 Model-Driven Progression (1) Model-driven programming tasks starts from a class model mostly, the model is given sometimes, also the model must be developed Progression models become increasingly complex during the course associated systematic programming techniques language issues covered by need Free University, Berlin, Germay Objects First Programming Education 30 Course Progression Conceptual model Design Specification model Analysis Implementation Problem/vision Implementation model Problem domain Model Free University, Berlin, Germay Objects First Programming Education 31 Jens Bennedsen,

13 Revealing the Programming Process Pointing Out the Problem David Gries, SIGSCE 1974 What Should We Teach in an Introductory Programming Course? Suppose you attend a course in cabinet making. The instructor briefly shows you a saw, a plane, a hammer, and a few other tools, letting you use each one for a few minutes. He next shows you a beautifully-finished cabinet. Finally, he tells you to design and build your own cabinet and bring him the finished product in a few weeks. You would think he was crazy! Free University, Berlin, Germay Objects First Programming Education 33 Jens Bennedsen,

14 Absurd Expectation? Nevertheless, this is what traditionally takes place (judged by the majority of existing textbooks) Free University, Berlin, Germay Objects First Programming Education 34 Predictable Outcome? Free University, Berlin, Germay Objects First Programming Education 35 Jens Bennedsen,

15 The Missing Link... tools concepts language constructs? finished programs Free University, Berlin, Germay Objects First Programming Education 36 Strategies, Principles, and Techniques... of problem solving and the development of programs The Practice of Programming Describe strategies, principles, and techniques Demonstrate how to apply these in action Develop programs instead of simply tools showcasing them Demonstrate that programming is a nonlinear process concepts finished Demonstrate incremental development language programs Demonstrate model-driven development constructs Demonstrate t test-driven t di development Demonstrate refactoring Demonstrate how to find and handle errors Demonstrate how to use online documentation Demonstrate,... Free University, Berlin, Germay Objects First Programming Education 37 Jens Bennedsen,

16 Strategies, Principles, and Techniques... of problem solving and the development of programs tools Descriptive levell (theoretical) concepts language constructs finished programs Performance level (practical) Video mediation Free University, Berlin, Germay Objects First Programming Education 38 Apprenticeship learning Learning is an integral part of generative social practice and through legitimate peripheral participation Leve and Wenger most well-known CoP legitimate peripheral participation i Free University, Berlin, Germay Objects First Programming Education 39 Jens Bennedsen,

17 Apprenticeship Jordan (1989) found Work is the driving force. The apprentices progressive mastering of tasks is appreciated for getting the problem solved, not as a step toward a distant, symbolic goal (such as a certificate). Apprentices start with skills that are expected by the master to be easiest and where mistakes are least costly. (The tailors start out sewing, not cutting, the cloth.) Learning is focused on bodily performance. It involves the ability to do, rather than the ability to talk about something. It often focuses on skills rather than academic competencies. Standards of performance are embedded in the work environment. Teachers and teaching are largely invisible. Free University, Berlin, Germay Objects First Programming Education 40 Cognitive apprenticeship We call this rethinking of teaching and learning in school cognitive apprenticeship to emphasize two issues. First the method is aimed primarily at teaching the processes that experts use to handle complex tasks. Where conceptual and factual knowledge are addressed, cognitive apprenticeship emphasizes their uses in solving problems and carrying out tasks Second, our term, cognitive apprenticeship, refers to the learning-through-guided-experience on cognitive and metacognitive, rather than physical, skills and processes [ ] The externalization of relevant processes and methods makes possible such characteristics of apprenticeship as its reliance on observation as a primary means of building a conceptual model of a complex target skill. Collins, Brown and Newman (1989) Free University, Berlin, Germay Objects First Programming Education 41 Jens Bennedsen,

18 Two aspects of apprenticeship Person-centered aspect Expose the learners to how an experienced programmer works. The master reflects and thinks aloud of the particular action, making them visible ibl and as a source of identification. The apprentice learns from observing the master (teacher) performing the actions embedded in a programming practice. De-centered aspect Consider the learner as an active participant in a community of co-learners. The master (teacher) legitimates the skills and knowledge of the individual learner. Nielsen and Kvale (1997) Free University, Berlin, Germay Objects First Programming Education 42 Refinement of class Date demonstrating two principles An Example... The special case principle p public class Date { systematic treatment of special cases suppress implementation details introduce private methods to handle special cases The mañana principle introduce an abstraction worry about implementation details tomorrow date udsnit.wmv private int d, // 1 <= d <= daysinmonth m, // 1 <= m <= 12 y; public Date(int dd, int mm, int yy) { d = dd; m = mm; y = yy; } public void settonextdate() { d = d + 1; } public String tostring() { return d + "-" + m + "-" + y; } } Free University, Berlin, Germay Objects First Programming Education 43 Jens Bennedsen,

19 Free University, Berlin, Germay Objects First Programming Education 44 Jens Bennedsen,

Running head: PERSONAL STATEMENT ON LEARNING AND INSTRUCTION 1. Personal Statement on Learning and Instruction. Jay A. Bostwick

Running head: PERSONAL STATEMENT ON LEARNING AND INSTRUCTION 1. Personal Statement on Learning and Instruction. Jay A. Bostwick Running head: PERSONAL STATEMENT ON LEARNING AND INSTRUCTION 1 Personal Statement on Learning and Instruction Jay A. Bostwick IP&T 620 Principles of Learning PERSONAL STATEMENT ON LEARNING AND INSTRUCTION

More information

Writing Learning Objectives

Writing Learning Objectives Writing Learning Objectives Faculty Development Program Office of Medical Education Boston University School of Medicine All Rights Reserved 2004 No copying or duplication of this presentation without

More information

Engaging Students Online

Engaging Students Online Engaging Students Online Professor William Pelz Herkimer County Community College State University of New York SUNY Learning Network ENGAGEMENT Why? / How? It s not that students can t pay attention, it

More information

Part 1 Foundations of object orientation

Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 1 Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 2 1 OFWJ_C01.QXD 2/3/06 2:14 pm Page 3 CHAPTER 1 Objects and classes Main concepts discussed

More information

Instructional Design of a Programming Course A Learning Theoretic Approach

Instructional Design of a Programming Course A Learning Theoretic Approach Instructional Design of a Programming Course A Learning Theoretic Approach Michael E. Caspersen Department of Computer Science University of Aarhus Aabogade 34, DK-8200, Aarhus N Denmark [email protected]

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Objects and classes Abstract Data Types (ADT) Encapsulation and information hiding Aggregation Inheritance and polymorphism OOP: Introduction 1 Pure Object-Oriented

More information

How To Teach Object Oriented Programming At An Introductory Level Course

How To Teach Object Oriented Programming At An Introductory Level Course 149 TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL Mehmet C. OKUR * ABSTRACT Teaching object oriented programming has become a rapidly expanding preference at various educational environments.

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

UML for the C programming language.

UML for the C programming language. Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development

More information

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief Digital Industries Trailblazer Apprenticeship Software Developer - Occupational Brief Table of Contents Contents 1 Software Developer Trailblazer Apprenticeship Introduction... 1 2 Software Developer Trailblazer

More information

MASTER OF SCIENCE (MSc) IN ENGINEERING (INNO- VATION AND BUSINESS)

MASTER OF SCIENCE (MSc) IN ENGINEERING (INNO- VATION AND BUSINESS) Chapter 9 The programme specific part of the curriculum for: MASTER OF SCIENCE (MSc) IN ENGINEERING (INNO- VATION AND BUSINESS) Study Start: September 2011, Version 1.1 The curriculum is divided into general

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

THE DESIGN AND CREATION OF AN ELECTRONIC LANGUAGE LEARNING ENVIRONMENT FOR GREEK AS FOREIGN/SECOND LANGUAGE

THE DESIGN AND CREATION OF AN ELECTRONIC LANGUAGE LEARNING ENVIRONMENT FOR GREEK AS FOREIGN/SECOND LANGUAGE THE DESIGN AND CREATION OF AN ELECTRONIC LANGUAGE LEARNING ENVIRONMENT FOR GREEK AS FOREIGN/SECOND LANGUAGE Giannis Spantidakis University of Crete Vasilia Kourtis-Kazoullis University of the Aegean [email protected];

More information

Social Informatics Today and Tomorrow: Status, Problems and Prospects of Development of Complex Lines in the Field of Science and Education

Social Informatics Today and Tomorrow: Status, Problems and Prospects of Development of Complex Lines in the Field of Science and Education triplec 9(2): 460-465, 2011 ISSN 1726-670X http://www.triple-c.at Social Informatics Today and Tomorrow: Status, Problems and Prospects of Development of Complex Lines in the Field of Science and Education

More information

Design by Contract beyond class modelling

Design by Contract beyond class modelling Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

Creating an Objective-based Syllabus. Danielle Mihram, Director Center for Excellence in Teaching University of Southern California

Creating an Objective-based Syllabus. Danielle Mihram, Director Center for Excellence in Teaching University of Southern California Creating an Objective-based Syllabus Danielle Mihram, Director Center for Excellence in Teaching University of Southern California FREQUENTLY ASKED QUESTIONS What constitutes a good syllabus? What are

More information

Telecommunication (120 ЕCTS)

Telecommunication (120 ЕCTS) Study program Faculty Cycle Software Engineering and Telecommunication (120 ЕCTS) Contemporary Sciences and Technologies Postgraduate ECTS 120 Offered in Tetovo Description of the program This master study

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

THE OPEN UNIVERSITY OF TANZANIA

THE OPEN UNIVERSITY OF TANZANIA THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE, TECHNOLOGY AND ENVIRONMENTAL STUDIES ODM 103: INTRODUCTION TO COMPUTER PROGRAMMING LANGUAGES Said Ally i ODM 103 INTRODUCTION TO COMPUTER PROGRAMMING

More information

Writing Effective Learning Objectives

Writing Effective Learning Objectives Writing Effective Learning Objectives Elaine Van Melle, PhD and Sheila Pinchin, MEd Office of Health Sciences Education Faculty of Health Sciences Queen s University September 2008 How to Write An Effective

More information

LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE

LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE Ion MIERLUS MAZILU Department of Mathematics and Computer Science Technical University of Civil Engineering, Bucharest B-ul. Lacul Tei, Nr. 122-124, Sector

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

Masters Program in Educational Administration

Masters Program in Educational Administration Department of Educational Administration Masters Program in Educational Administration Degrees conferred. Beside participation in the activities of educational training at the bachelor level, graduate

More information

Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes

Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes Dietmar Winkler Stefan Biffl Thomas Östreicher Institute of Software Technology and Interactive

More information

Collaborative Learning in a Design Course

Collaborative Learning in a Design Course Collaborative Learning in a Design Course Terence A. Weigel 1 Abstract This paper describes a method of collaborative learning used in a design course taught at the University of Louisville. Under the

More information

Instructional Designers Take All the Fun Out of Games: Rethinking Elements of Engagement for Designing Instructional Games

Instructional Designers Take All the Fun Out of Games: Rethinking Elements of Engagement for Designing Instructional Games Instructional Designers Take All the Fun Out of Games: Rethinking Elements of Engagement for Designing Instructional Games Brett E. Shelton & David Wiley Department of Instructional Technology, College

More information

Introduction. Observation Patterns. Accounting Patterns. How to use Patterns

Introduction. Observation Patterns. Accounting Patterns. How to use Patterns Analysis Martin Fowler fowler@acm acm.org http://ourworld ourworld.compuserve.com/homepages/martin_fowler Page Martin Fowler 9//99 What we will cover Introduction Observation Accounting How to use Page

More information

Foundations of the Montessori Method (3 credits)

Foundations of the Montessori Method (3 credits) MO 634 Foundations of the Montessori Method This course offers an overview of human development through adulthood, with an in-depth focus on childhood development from birth to age six. Specific topics

More information

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005 Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What

More information

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW John C. Knight, Jane C. Prey, & Wm. A. Wulf Department of Computer Science University of Virginia ABSTRACT

More information

COURSE OUTLINE. Prerequisites: Course Description:

COURSE OUTLINE. Prerequisites: Course Description: Lab/Recitation Revised Fall 2015 36TITP220 21TJava Programming II COURSE OUTLINE Prerequisites: ITP120 wi ITD130 as a co-requisite or instructor s permission Course Description: Imparts instruction in

More information

Lecture 1: Introduction to Software Quality Assurance

Lecture 1: Introduction to Software Quality Assurance Lecture 1: Introduction to Software Quality Assurance Software Quality Assurance (INSE 6260/4-UU) Winter 2009 Thanks to Rachida Dssouli for some slides Course Outline Software Quality Overview Software

More information

Rethinking the Haverford College Chemistry Department: Curriculum and Teaching Methods

Rethinking the Haverford College Chemistry Department: Curriculum and Teaching Methods Introduction to Critical Feminist Studies Paper #3 December 8, 2008 Rethinking the Haverford College Chemistry Department: Curriculum and Teaching Methods About the Author: This is written from the perspective

More information

CS314: Course Summary

CS314: Course Summary CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need

More information

Metacognition. Complete the Metacognitive Awareness Inventory for a quick assessment to:

Metacognition. Complete the Metacognitive Awareness Inventory for a quick assessment to: Metacognition Metacognition is essential to successful learning because it enables individuals to better manage their cognitive skills and to determine weaknesses that can be corrected by constructing

More information

Real-World Object-Oriented Design Experience for Computer Science Students

Real-World Object-Oriented Design Experience for Computer Science Students Real-World Object-Oriented Design Experience for Computer Science Students Abstract Due to the limitations of time and resources, many undergraduate Software Engineering courses provide a survey of a broad

More information

AN ELECTRONIC LEARNING ENVIRONMENT FOR APPLIED STATISTICS: QUALITY CARE AND STATISTICS EDUCATION IN HIGHER EDUCATION

AN ELECTRONIC LEARNING ENVIRONMENT FOR APPLIED STATISTICS: QUALITY CARE AND STATISTICS EDUCATION IN HIGHER EDUCATION AN ELECTRONIC LEARNING ENVIRONMENT FOR APPLIED STATISTICS: QUALITY CARE AND STATISTICS EDUCATION IN HIGHER EDUCATION Gilberte Schuyten and Hannelore Dekeyser, Department of Data-Analysis, University of

More information

Conclusions and Further Work

Conclusions and Further Work Conclusions and Further Work Page 245 CHAPTER EIGHT Conclusions and Further Work This final chapter brings the thesis to a close by returning to the agenda which was established in chapter 1. It summarises

More information

The University of North Carolina at Pembroke 2015-2016 Academic Catalog

The University of North Carolina at Pembroke 2015-2016 Academic Catalog 402 MASTER OF ARTS IN MATHEMATICS EDUCATION (M.A.) Interim Director: Mary Klinikowski Sir Isaac Newton made the statement, If I have seen further than others, it is because I have stood on the shoulder

More information

ELL Considerations for Common Core-Aligned Tasks in English Language Arts

ELL Considerations for Common Core-Aligned Tasks in English Language Arts ELL Considerations for Common Core-Aligned Tasks in English Language Arts A substantial body of research clearly indicates that utilizing specific instructional modifications as well as targeted pedagogical

More information

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology Charles R. Moen, M.S. University of Houston - Clear Lake [email protected] Morris M. Liaw, Ph.D. University of Houston

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

TEACHING AND LEARNING IN COMPETENCY-BASED EDUCATION

TEACHING AND LEARNING IN COMPETENCY-BASED EDUCATION The Fifth International Conference on e-learning (elearning-2014), 22-23 September 2014, Belgrade, Serbia TEACHING AND LEARNING IN COMPETENCY-BASED EDUCATION NEIL O SULLIVAN Innovative Together Ltd, [email protected]

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.

More information

Applying GQM Approach towards Development of Criterion-Referenced Assessment Model for OO Programming Courses

Applying GQM Approach towards Development of Criterion-Referenced Assessment Model for OO Programming Courses Applying G Approach towards Development of Criterion-Referenced Assessment odel for OO Programming Courses Norazlina Khamis, Sufian Idris, and Rodina Ahmad Abstract The most influential programming paradigm

More information

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr. COM 401 Software Engineering Lecture Overview Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes Prof. Dr. Halûk Gümüşkaya [email protected]

More information

Electronic Healthcare Design and Development

Electronic Healthcare Design and Development Electronic Healthcare Design and Development Background The goal of this project is to design and develop a course on Electronic Healthcare Design and Development using Unified Modeling Language (UML)

More information

Program Visualization for Programming Education Case of Jeliot 3

Program Visualization for Programming Education Case of Jeliot 3 Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu [email protected] Abstract:

More information

Integrated Course Design

Integrated Course Design IDEA PAPER #42 Integrated Course Design L. Dee Fink University of Oklahoma Teaching is a complex human action. The many tasks that are involved comprise four general components: Knowledge of the subject

More information

COMPUTER SCIENCE COURSE OUTLINE

COMPUTER SCIENCE COURSE OUTLINE COMPUTER SCIENCE COURSE OUTLINE Grade 7 8 11/12 10/11/12 11/12 Course Introduction to Computer Essentials (focus on Applications) Part 1 Computer Applications Part 2- Computer Integration Advanced Computer

More information

CURRICULUM VITA. Michael J. Tammaro. Department of Physics University of Rhode Island Kingston, RI 02881 (401) 874-2079 tammaro@uri.

CURRICULUM VITA. Michael J. Tammaro. Department of Physics University of Rhode Island Kingston, RI 02881 (401) 874-2079 tammaro@uri. CURRICULUM VITA Michael J. Tammaro Department of Physics University of Rhode Island Kingston, RI 02881 (401) 874-2079 [email protected] EDUCATION Ph.D., August 1997, Theoretical Condensed Matter Physics,

More information

How To Use the Checklist for Evaluating Learning Materials

How To Use the Checklist for Evaluating Learning Materials This document contains both information and form fields. To read information, use the Down Arrow from a form field. Ontario Adult Literacy Curriculum Framework How To Use the Checklist for Evaluating Learning

More information

National Masters School in Language Technology

National Masters School in Language Technology National Masters School in Language Technology GSLT May 19, 2009 Introduction Sweden is a relatively small country and competence in language technology is spread over a number of academic institutions

More information

JOINT MASTER OF ARTS IN LEADERSHIP AND EDUCATION CHANGE COURSE DESCRIPTIONS

JOINT MASTER OF ARTS IN LEADERSHIP AND EDUCATION CHANGE COURSE DESCRIPTIONS JOINT MASTER OF ARTS IN LEADERSHIP AND EDUCATION CHANGE COURSE DESCRIPTIONS A. CORE COURSES MALC 801 Perspectives in Educational Leadership Educational leadership is a complex concept, both in theory and

More information

Lab Experience 17. Programming Language Translation

Lab Experience 17. Programming Language Translation Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly

More information

Software Service Engineering Architect s Dream or Developer s Nightmare?

Software Service Engineering Architect s Dream or Developer s Nightmare? Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 [email protected] Abstract. Architectural principles such

More information

Pearson BTEC Nationals in Creative Digital Media Production from 2016

Pearson BTEC Nationals in Creative Digital Media Production from 2016 Pearson BTEC Nationals in Creative Digital Media Production from 2016 Introductory Guide Introducing your new BTEC Nationals in Creative Digital Media Production Your Introductory Guide at a glance Flexible

More information

ESUMS HIGH SCHOOL. Computer Network & Engineering (CNE) 2014-2015 Syllabus

ESUMS HIGH SCHOOL. Computer Network & Engineering (CNE) 2014-2015 Syllabus ESUMS HIGH SCHOOL Computer Network & Engineering (CNE) 2014-2015 Syllabus Teacher: Dr. Didacus Oparaocha Room: 333 Email: [email protected] Meeting Hours: 2A/3A Course Description: Computer

More information

Undergraduate education part of the development plan of KTH CSC June 2008

Undergraduate education part of the development plan of KTH CSC June 2008 Undergraduate education part of the development plan of KTH CSC June 2008 Programmes The aim of the Master of Science in Engineering program in Computer Science and Engineering is to give graduate engineers

More information

The "Art" of Online Learning: Teaching Visual Art Virtually

The Art of Online Learning: Teaching Visual Art Virtually The "Art" of Online Learning: Teaching Visual Art Virtually Professor Barbara Saromines-Ganne Leeward Community College 96-045 Ala Ike Pearl City, Hawaii, USA [email protected] Peter Leong Department of Educational

More information

Computer Science 210: Data Structures. Introduction

Computer Science 210: Data Structures. Introduction Computer Science 210: Data Structures Introduction Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures abstract

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

Degree Level Expectations for Graduates Receiving the

Degree Level Expectations for Graduates Receiving the Degree Level Expectations for Graduates Receiving the Degree of Bachelor of Education, B.Ed. Ontario Institute for Studies in Education (OISE) University of Toronto 1 Introduction Teacher education has

More information

Curriculum 2016. Vocational Teacher Education

Curriculum 2016. Vocational Teacher Education v Curriculum 2016 Vocational Teacher Education 1 Preface Dear teacher student I wish to welcome you to vocational teacher studies at Tampere University of Applied Sciences! You are embarking with your

More information

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities The classroom is set up like a traditional classroom on the left side of the room. This is where I will conduct my

More information

PCCC PCCC Course Description

PCCC PCCC Course Description Course Description CIS 101 Computer Concepts and Applications 3 credits (formerly Introduction to Computers and Information Processing) Introduces a variety of topics in computers and computing including

More information

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734 City of Dublin Education & Training Board Programme Module for Mobile Technologies leading to Level 6 FETAC Version 3 1 Introduction This programme module may be delivered as a standalone module leading

More information

SYSTEMS, CONTROL AND MECHATRONICS

SYSTEMS, CONTROL AND MECHATRONICS 2015 Master s programme SYSTEMS, CONTROL AND MECHATRONICS INTRODUCTION Technical, be they small consumer or medical devices or large production processes, increasingly employ electronics and computers

More information

Assessment and Instruction: Two Sides of the Same Coin.

Assessment and Instruction: Two Sides of the Same Coin. Assessment and Instruction: Two Sides of the Same Coin. Abstract: In this paper we describe our research and development efforts to integrate assessment and instruction in ways that provide immediate feedback

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 5 Disclaimer. These notes are derived from notes originally developed by Joseph Kiniry, Gary Leavens, Erik Poll,

More information

A. The master of arts, educational studies program will allow students to do the following.

A. The master of arts, educational studies program will allow students to do the following. PROGRAM OBJECTIVES DEPARTMENT OF EDUCATION DEGREES OFFERED MASTER OF ARTS, EDUCATIONAL STUDIES (M.A.); MASTER OF ARTS, SCIENCE EDUCATION (M.S.); MASTER OF ARTS IN GERMAN WITH TEACHING LICENSURE (M.A.);

More information

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course 1. Introduction Chao Chen January 2014 The purpose of this project is to enhance student learning and practice in

More information

Teaching Portfolio. Teaching Philosophy

Teaching Portfolio. Teaching Philosophy Teaching Portfolio Teaching Philosophy Over the course of my education, I have had the privilege of interacting with some truly excellent teachers, who have shaped my knowledge, reasoning, and technical

More information