Teaching Object-Oriented Programming with Games
|
|
|
- Sophie Clarke
- 10 years ago
- Views:
Transcription
1 2009 Sixth International Conference on Information Technology: New Generations Teaching Object-Oriented Programming with Games Lu Yan School of Computer Science, University of Hertfordshire Hatfield, Hertfordshire AL10 9AB, UK Abstract First-year students in CS/IT curriculum are often overwhelmed by the introduction to programming module, which is a mandatory component for the whole study program. In this paper, we discuss the difficulties students may encounter in this module and propose a novel approach to teaching programming to new programmer with games. We reflect on our experiences on making the programming module friendly and improving the success rate among new programmers. We present our learning theory, teaching methodology and assistive software with technical details. Key Words: object-oriented, programming, game, greenfoot, bluej. 1. Introduction and background Introduction to programming is a traditional and compulsory module for first-year CS/IT students. Though the content of this module has evolved a great deal over years due to the advance and trend of computing technology as well as the rise and fall of different programming languages, it is a common observation that teaching programming to new programmers is hard. However, since this module is the foundation for advanced level modules, it is always a challenge for the module team to effectively and efficiently deliver it. Nowadays, object-oriented programming is the mainstream in computing industry, so Java is often offered as the first language for first-year students to learn. Though Java is a modern language without history burden and unnecessarily complex syntax as C++, it still presents a steep learning curve for novice students. Our students, like the majority of today s students, are well acquainted with the use of computers. Most of them have experiences with computer game, word processing software, search engine, social networking site and instant messenger. However, since CS/IT program has no formal course prerequisites, students are not necessarily acquainted with programming; in fact few of them have prior experiences of programming, nor are those experiences objectoriented. 2. Difficulties from both student s and teacher s views Learning introduction to programming is hard. It is not mainly due to the lack of prior computing experience, but the lack of problem-solving skills. Computer engineers/scientists usually need to apply logic thinking and problem-solving skills when writing a piece of software. However, students are often not well-trained with those skills in high school, which puts them in a difficult position when enrolled into university studies. Abstract concepts and thinking may be another difficulty students will face in learning object-oriented programming. Class and object are core concepts in this module, but it is fairly hard to find the equivalence in real life. Students therefore struggle to comprehend even more complex concepts such as inheritance and polymorphism if they cannot grasp the basic class and object thinking way. Teaching introduction to programming is hard. Introduction to programming is not about abstract object-oriented concepts and practical programming skills alone, but really about the interactions and interweaving of both. So any approach without balancing the two sides will not succeed in practice. Moreover, as this is the first programming module for new students, it is inevitable to include issues from software process, data structure, project management, operating systems and even mathematics, which are definitely not the focus but the background of this module /09 $ IEEE DOI /ITNG
2 Another difficulty in teaching this module arises from keeping students attention and interests throughout the module. Traditionally, programming is taught in a way of creating simple text-based programs. Most of the teachers around my age shall still remember the infamous HelloWorld example: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } which was de facto first program students would learn from any Java textbook. However, today s students are grown up in an environment where computer are already part of their life. Text-based programs are neither impressive nor familiar to them. Most of them have little experience with command line, but mouseassisted graphic environments. So, those example programs are not attractive to them, and actually foreign to them. 3. A bit of learning theory The UK Professional Standards Framework for teaching and supporting learning in higher education [1] sets out a framework and detailed standards to align our teaching practice. The core concept is to be a reflective professional [2-6]. Figure 1. Kolb learning cycle Reflective practice is important as it enables us to learn from our experiences. Kolb [7] developed a theory of experiential learning called the Kolb Cycle or the Learning Cycle in Figure 1. The cycle comprises four stages: concrete experience, reflective observation, abstract conceptualization, active experimentation; it can be entered at any point but all stages should be followed in a sequence for a successful learning process to take place [8]. The Kolb cycle implies that it is not enough to have an experience to learn, but the reflection after the experience does. It is critical to reflect on the experience to formulate concepts which can be applied to new environments. Finally, the learning will be tested in new situations and new settings. In this way, theory, action, reflection and practice are linked into a dynamic cycle and complement each other [9-12]. We have applied the Kolb cycle as an inspiration and guidance in the introduction to programming module delivery, rather than approaching the problem in a simple and linear way. 4. Our reflection and related works There are two main aims in the introduction to programming module: object-oriented thinking and Java programming skills. The former, as we believe, can be taught successfully with satisfying results by focusing on fundamental principles of objectorientation, for instance, via metaphors. A pioneer study by Sims-Knight et al. shows that it is possible to teach object-oriented design without programming [19]: students played an extant computer game and then watched an expert demonstrate how to design that game. The expert explained the design considerations in an object-oriented way and students then created their own designs for this game. This approach reinforced our idea on using games in programming teaching. Zhu et al. proposed a way to teach object-oriented programming (C++) by putting methodology first and language second [16]. They proposed to introduce the object concept by observing the real world. This proposal coincides with our approach on using metaphors. The other aim, Java programming skills, can be taught in a modern, interesting and attractive way. Our philosophy is to use graphics to capture and retain the interest of students (i.e., let students explore programming skills in a graphically rich environment). Besides non-text based examples, simple games could be used as examples. Since most of our students have played some kind of games, they are familiar with the common game rules and no background information on games is needed. Game maker [20] is an integrated environment for learning object-oriented design. Users can create games without writing a single line of code with game maker s drag-and-drop techniques. This idea has been a major inspiration for us. 970
3 Chen et al. reported an extensive case study on design and execution of an object-oriented programming laboratory course [15]. In that course, students were required to implement a small-tomedium scale interactive computer game in one semester, making use of a game framework. Similar courses were also reported in [17-18, 21]. We appreciate those approaches to teaching object-oriented programming with games, but we do believe that we should be careful with the selection of games, and don t be too ambitious at the initial point since our students are new programmers. 5. Object-oriented thinking in Greenfoot We have adopted a GUI-centered approach to teaching object-orientation concepts. Our view is that before letting students to create a trivial application, whether a toy program or a simple game, it is important to ensure students truly understand the basic concepts of object-oriented notions and really manipulate them think in the object-oriented way. We achieved that with an assistive software environment called Greenfoot [13] Brief introduction to Greenfoot The Greenfoot system is a framework and environment to create interactive, simulation-like applications in a two-dimensional plane [13]. Greenfoot allows implemention of and interaction with objects in the context of scenarios. Once objects are created in Greenfoot, they can interactively be placed into a Greenfoot world, and users can directly play with these objects and invoke methods in those objects. The Greenfoot system is also an integrated development environment (IDE): it contains an editor, a compiler and a debugger. The underlying runtime and compiler uses standard Java. Greenfoot classes are standard Java classes The wombat scenario One classic example of teaching object-orientation is the wombat scenario. A Greenfoot version of this is shown in Figure 2. As in this scenario, wombats live in a grid area and move freely with commands. The world also consist some rocks and leaves. When a wombat meets a rock, it will turn to other directions; when a wombat meets a leaf, it will eat that leaf. Figure 2. The wombat scenario When using this scenario, students would typical be given an initial world, which contains an instance of wombat and possibly rocks and leaves Student activities Students can perform the same activities as the teacher does, but we do encourage students explore this new environment proactively and link those important object-oriented concepts such as object, class and method to this mini-game. Observing behaviors: when students use Greenfoot for the first time, they will typically interact with an initial world given by the teacher. For example, the initial view would be similar to Figure 2. Students can press the Run button to observe how the wombat moves, turns and eats leaves. Invoking methods: students can then directly play with an individual object. For instance, students will right click the wombat icon and all available methods in the wombat object would show as Figure 3. Students will then try all those methods. Instantiating objects: as the next step, students will create a new world by instantiating objects. Students select a constructor by right click a class from the actor list, as shown in Figure 4. The mouse cursor will then show the icon of the object, which can be placed into the world. After students have instantiated several objects and played the interactions among different objects, the 971
4 teacher will then bring up the concept of class and object, and indentify the relationship between class and object Brief introduction to BlueJ BlueJ is a software environment developed to support the learning and teaching of object-oriented programming [14]. It can also be deemed as an ultralight IDE for small scale Java development, though it lacks many advanced features comparing to NetBeans and Eclipse. Like Greenfoot [13], students can interactively instantiate and test objects. All objects have a simple representation on an object bench. It is also possible to inspect these objects, and execute their methods. Another significant advantage of BlueJ is the clear separation of the concepts of classes and objects. Object-oriented concepts such as class, object and method are represented visually and in its interaction design in the interface The picture game Figure 3. Invoking methods Instead of the monotonic HelloWorld, the first Java program in BlueJ is a graphically rich one, the picture game. Figure 5 shows the BlueJ interface, class diagram and object bench of the game. This program displays a picture of house like Figure 6 on the screen, which is built from three basic shapes: circle, square and triangle. Figure 4. Instantiating objects 6. Java programming in BlueJ We have selected BlueJ [14] as the IDE to teach students Java programming skills. BlueJ is a programming environment specifically designed for education. Besides GUI-centric design, BlueJ also encourages students to define classes and their relationships with an UML-like notation. We believe it is good for teaching both programming language skills and software engineering principles. Figure 5. The BlueJ interface Since students have already played with the Greenfoot environment, they will explore the BlueJ in a very similar way. With the foundation of objectoriented concepts, they usually have no difficulty in understanding class diagram and object bench in Figure 5. Now they are ready for some real programming tasks. 972
5 field, parameter, property and reference to students Student activities Figure 6. The picture game As a preliminary warm-up, based on what they have learned in Greenfoot, students are encouraged to explore BlueJ environment proactively and try at least three things: Observing behaviors Invoking methods Instantiating objects Figure 8. Modifying code So far we covered how student can play with objects without looking at the source code. The next step is to modify the existing class in picture and learn how to write methods properly. Figure 7. Inspecting objects The teacher will then instruct them to explore advanced features of BlueJ, and stepwise modify the code of picture to generate a picture of their own design. Inspecting objects: students are told to right click an object and select the inspect option from the pop-up menu. An object inspector window like Figure 7 would appear, and complete set of values for the object s fields would be listed. Now the teacher will explain important object-oriented concepts such as Modifying code: students will double-click a class and the integrated editor would pop up with the source code like Figure 8. First, students are required to mimic the code of the picture class, but their resulting image should be significant different than the original one. Then, students are allowed to modify code freely to create more realistic pictures and animations such as sunset. 7. Concluding remarks We have presented our approach to teaching objectoriented programming with games. This approach may be characterized by (1) object-orientation first, programming second (2) graphically rich examples (3) game as the trigger. The proposed approach provides a positive and supportive atmosphere in which students can learn the principles of object-oriented programming. It keeps students interested and reinforces those programming principles. 973
6 Acknowledgements This work was part of the CPAD program running at the University of Hertfordshire in References [1] The UK Professional Standards Framework for teaching and supporting learning in higher education, [2] H. Fry, S. Ketteridge and S. Marshall S. A Handbook for Teaching & Learning in Higher Education: Enhancing Academic Practice (2 nd Edition), Routledge, London, [3] J. Biggs. Teaching for Quality Learning at University (2 nd Edition), Open University Press, Berkshire, [4] P. Ramsden. Learning to Teach in Higher Education, Routledge, London, [5] G. Gibbs. Learning by Doing: A guide to Teaching and Learning Methods, Oxford Further Education Unit, Oxford Polytechnic, Oxford, [6] N. Hatton and D. Smith. Reflection in Teacher Education, in Teaching and Teacher Education, vol. 11, pp , [7] D.A. Kolb. Experiential Learning experience as a source of learning and development, Prentice Hall, New Jersey, Programming, in IEEE Transactions on Education, vol. 10, no. 3, pp , IEEE Press, [16] H. Zhu and M. Zhou. Methodology first and language second: A way to teach object-oriented programming, in Proc. 18th Annu. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 03), Anaheim, CA, [17] J. D. Bayliss and S. Strout. Games as a "flavor" of CS1, in Proc. 37th Special Interest Group Computer Science Education Tech. Symp. (SIGCSE 06), Houston, TX, [18] C. Alphonce and P. Ventura. Using graphics to support the teaching of fundamental object-oriented principles in CS1, in Proc. 18th Annu. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 03), Anaheim, CA, [19] J. E. Sims-Knight and R. L. Upchurch. Teaching Object-Oriented Design without Programming: A Progress Report, in Computer Science Education, vol. 4, no. 1, pp , Routledge, [20] M. Overmars. Learning object-oriented design by creating games, in IEEE Potentials, vol. 23, no. 5, pp , IEEE Press, [21] J. Ryoo, F. Fonseca and D. S. Janzen. Teaching Object- Oriented Software Engineering through Problem-Based Learning in the Context of Game Design, in Proc. IEEE 21st Conference on Software Engineering Education and Training (CSEET 08), Charleston, South Carolina, [8] D. Boud, R. Keogh and D. Walker. Reflection: Turning Experience in to Learning, London: Kogan Page, [9] A. Brockbank and I. McGill. Facilitating Reflective Learning in Higher Education, SHRE/Open University Press, Buckingham, [10] J. Cowan. On Becoming an Innovative University Teacher Reflection in Action, SRHE/OU, Buckingham, [11] J. Moon. Reflection in Learning and Professional Development Theory and Practice, Kogan Page, London, [12] D. Schon. The Reflective Practitioner How Professionals Think in Action, Avebury, London, [13] The Greenfoot project. [14] The BlueJ project. [15] W.-K. Chen and Y. C. Cheng. Teaching Object- Oriented Programming Laboratory with Computer Game 974
The first program: Little Crab
CHAPTER 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,
2 The first program: Little Crab
2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if statement In the previous chapter, we
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
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
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course
Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course Yulia 1,Rudy Adipranata 2 Informatics Department Petra Christian University
RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science
I. Basic Course Information RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 105 Foundations of Computer Science A. Course Number and Title: CISY-105, Foundations of Computer Science B. New
Teaching Non-majors Computer Programming Using Games as Context and Flash ActionScript 3.0 as the Development Tools
Teaching Non-majors Computer Programming Using Games as Context and Flash ActionScript 3.0 as the Development Tools Yue-Ling Wong Wake Forest University Computer Science Department Winston-Salem, NC 27109
Exploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland [email protected] Abstract The integrated development
Experiences with Online Programming Examinations
Experiences with Online Programming Examinations Monica Farrow and Peter King School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh EH14 4AS Abstract An online programming examination
For Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria
OBJECT-ORIENTED DOCUMENTATION C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria Abstract Object-oriented programming improves the reusability of software
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
A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS. Gary Kader and Mike Perry Appalachian State University USA
A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS Gary Kader and Mike Perry Appalachian State University USA This paper will describe a content-pedagogy course designed to prepare elementary
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Institute of Research on Information Systems (IRIS) Course Overview
Department of Supply Chain Management, Information Systems & Innovation Institute of Research on Information Systems (IRIS) Course Overview BACHELOR PROGRAM COURSES... 2 INFORMATION SYSTEMS DEVELOPMENT...
LAB 1. Familiarization of Rational Rose Environment And UML for small Java Application Development
LAB 1 Familiarization of Rational Rose Environment And UML for small Java Application Development OBJECTIVE AND BACKGROUND The purpose of this first UML lab is to familiarize programmers with Rational
Programming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
6.1. Example: A Tip Calculator 6-1
Chapter 6. Transition to Java Not all programming languages are created equal. Each is designed by its creator to achieve a particular purpose, which can range from highly focused languages designed for
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
3D Animation of Java Program Execution for Teaching Object Oriented Concepts
3D Animation of Java Program Execution for Teaching Object Oriented Concepts Tim Storer September 23, 2006 Abstract The successful teaching of the object oriented programming paradigm has been identified
Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)
České vysoké učení technické v Praze Fakulta elektrotechnická Návrh Uživatelského Rozhraní X36NUR Editors Comparison (NetBeans IDE, Eclipse, ) May 5, 2008 Goal and purpose of test Purpose of this test
FOR EVALUATION ONLY NOT FOR DISTRIBUTION
David Barnes Michael Kölling Objects First with Java A Practical Introduction using BlueJ FOR EVALUATION ONLY NOT FOR DISTRIBUTION Copyright Barnes, Kölling, 2002 Pearson Education / Prentice Hall ISBN
How to use the Eclipse IDE for Java Application Development
How to use the Eclipse IDE for Java Application Development Java application development is supported by many different tools. One of the most powerful and helpful tool is the free Eclipse IDE (IDE = Integrated
Mediated Transfer: Alice 3 to Java
Mediated Transfer: Alice 3 to Java Wanda Dann Computer Science Department 1-412-268-9959 [email protected] Dennis Cosgrove Human Computer Interaction Institute 1-412-268-4074 [email protected] Don
An Internet Course in Software Development with C++ for Engineering Students
An Internet Course in Software Development with C++ for Engineering Students Yosef Gavriel, Robert Broadwater Department of Electrical and Computer Engineering Virginia Tech Session 3232 Abstract This
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Visual teaching model for introducing programming languages
Visual teaching model for introducing programming languages ABSTRACT Ronald Shehane Troy University Steven Sherman Troy University This study examines detailed usage of online training videos that were
A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION
A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION Tao Chen 1, Tarek Sobh 2 Abstract -- In this paper, a software application that features the visualization of commonly used
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
IMPROVING STUDENTS FOCUS IN INTRODUCTORY PROGRAMMING COURSES
DAAAM INTERNATIONAL SCIENTIFIC BOOK 2015 pp. 165-172 Chapter 15 IMPROVING STUDENTS FOCUS IN INTRODUCTORY PROGRAMMING COURSES KONECKI, M. Abstract: Introductory programming courses struggle with low passing
Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions
Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions 1. Click the download link Download the Java Software Development Kit (JDK 5.0 Update 14) from Sun Microsystems
Introduction to Object-Oriented Programming
Introduction to Object-Oriented Programming Programs and Methods Christopher Simpkins [email protected] CS 1331 (Georgia Tech) Programs and Methods 1 / 8 The Anatomy of a Java Program It is customary
C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering
C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering Education & Training, pp. 16-25, New Orleans, Lousiana, USA,
A Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
Orange Unified School District Video Game Design II Year Course
Course No. B861 O642 Orange Unified School District Video Game Design II Year Course Grade Level: 10-12 Prerequisites: Video Game Design 1 Introduction to the Subject Video Game Design II is an advanced
Tutorial: Time Of Day Part 2 GUI Design in NetBeans
Tutorial: Time Of Day Part 2 GUI Design in NetBeans October 7, 2010 Author Goals Kees Hemerik / Gerard Zwaan Getting acquainted with NetBeans GUI Builder Illustrate the separation between GUI and computation
Programming in Access VBA
PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010
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.
Course Title: Software Development
Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.
Curriculum Map. Discipline: Computer Science Course: C++
Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code
Masters in Human Computer Interaction
Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from
Programme Specification for the. Cardiff Metropolitan University. Master of Science (MSc) in Information Technology
LONDON SCHOOL OF COMMERCE Programme Specification for the Cardiff Metropolitan University Master of Science (MSc) in Information Technology Contents Programme Aims and Objectives 3 Programme Structure
Masters in Advanced Computer Science
Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate
AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT
AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT Dr. Nikunja Swain, South Carolina State University Nikunja Swain is a professor in the College of Science, Mathematics,
The BlueJ Tutorial. Version 2.0.1 for BlueJ Version 2.0.x. Michael Kölling Mærsk Institute University of Southern Denmark
The BlueJ Tutorial Version 2.0.1 for BlueJ Version 2.0.x Michael Kölling Mærsk Institute University of Southern Denmark Table of contents Copyright M. Kölling Contents 1 Foreword 4 1.1 About BlueJ...4
Masters in Artificial Intelligence
Masters in Artificial Intelligence Programme Requirements Taught Element, and PG Diploma in Artificial Intelligence: 120 credits: IS5101 CS5001 CS5010 CS5011 CS4402 or CS5012 in total, up to 30 credits
Model Simulation in Rational Software Architect: Business Process Simulation
Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation
Masters in Human Computer Interaction
Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from
Masters in Computing and Information Technology
Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits
Masters in Networks and Distributed Systems
Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to
VISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
Using Karel with Eclipse
Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is
How To Understand The Reactions Of Students Of The Layout And Graphics Design In Computer Course
THE EXPERIENTIAL LEARNING CYCLE IN VISUAL DESIGN Aysu ARSOY & Bahire Efe ÖZAD Abstract Experiential Learning Cycle has been applied to the Layout and Graphics Design in Computer Course provided by the
Scratch: Applications in Computer Science 1
Scratch: Applications in Computer Science 1 Inés Friss de Kereki ORT Uruguay University, [email protected] Abstract - Programming is a complex intellectual activity. We observed through the years that
PRECALCULUS WITH INTERNET-BASED PARALLEL REVIEW
PRECALCULUS WITH INTERNET-BASED PARALLEL REVIEW Rafael MARTÍNEZ-PLANELL Daniel MCGEE Deborah MOORE Keith WAYLAND Yuri ROJAS University of Puerto Rico at Mayagüez PO Box 9018, Mayagüez, PR 00681 e-mail:
Contents. Java - An Introduction. Java Milestones. Java and its Evolution
Contents Java and its Evolution Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering The University of Melbourne http:// www.buyya.com Java Introduction
3 Improving the Crab more sophisticated programming
3 Improving the Crab more sophisticated programming topics: concepts: random behavior, keyboard control, sound dot notation, random numbers, defining methods, comments In the previous chapter, we looked
Designing instructional tools by Flash MX ActionScript some examples to teach basic geometric concepts Yuan, Yuan Lee, Chun-Yi
Designing instructional tools by Flash MX ActionScript some examples to teach basic geometric concepts Yuan, Yuan Lee, Chun-Yi It is believed that technology will transform how we view teaching, and it
Lab Manual: Using Rational Rose
Lab Manual: Using Rational Rose 1. Use Case Diagram Creating actors 1. Right-click on the Use Case View package in the browser to make the shortcut menu visible. 2. Select the New:Actor menu option. A
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
Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A
Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A Developed By Brian Weinfeld Course Description: AP Computer
MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY. Computer Animation. Grade 8
MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY Williamstown Middle School Computer Animation Grade 8 September 2010 Written by: Marilyn Kurz Supervisor of Curriculum and Instruction Lesley McGiboney
Tutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and
The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
A Visual Language Based System for the Efficient Management of the Software Development Process.
A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
creating a text-based editor for eclipse
creating a text-based editor for eclipse By Elwin Ho Contact author at: [email protected] June 2003 2003 HEWLETT-PACKARD COMPANY TABLE OF CONTENTS Purpose...3 Overview of the Eclipse Workbench...4 Creating
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN Chanchai Supaartagorn Department of Mathematics Statistics and Computer, Faculty of Science, Ubon Ratchathani University, Thailand [email protected]
A Client-Server Interactive Tool for Integrated Artificial Intelligence Curriculum
A Client-Server Interactive Tool for Integrated Artificial Intelligence Curriculum Diane J. Cook and Lawrence B. Holder Department of Computer Science and Engineering Box 19015 University of Texas at Arlington
DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES
DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES 2014-2015 Educational Technologies Intro to Computer Applications Computer Graphics Astronomy Web Design & Development Intro to Programming (Visual Basic)
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
The Greenfoot Programming Environment
The Greenfoot Programming Environment MICHAEL KÖLLING University of Kent Greenfoot is an educational integrated development environment aimed at learning and teaching programming. It is aimed at a target
TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE
TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE Dino Schweitzer, Jeff Boleng, Paul Graham United States Air Force Academy, CO 80840 [email protected] ABSTRACT Different approaches
Online Development of Digital Logic Design Course
Online Development of Digital Logic Design Course M. Mohandes, M. Dawoud, S. Al Amoudi, A. Abul Hussain Electrical Engineering Department & Deanship of Academic Development King Fahd University of Petroleum
Teaching Adaptability of Object-oriented Programming Language Curriculum
International Education Studies; Vol. 5, No. 4; 2012 ISSN 1913-9020 E-ISSN 1913-9039 Published by Canadian Center of Science and Education Teaching Adaptability of Object-oriented Programming Language
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori
Qualification details
Qualification details Title New Zealand Diploma in Information Systems (Level 5) Version 1 Qualification type Diploma Level 5 Credits 120 NZSCED 020399 Information Technology > Information Systems > Information
How To Test In Bluej
Unit Testing in BlueJ Version 1.0 for BlueJ Version 1.3.0 Michael Kölling Mærsk Institute University of Southern Denmark Copyright M. Kölling 1 INTRODUCTION.........................................................................
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)
Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the
Reforming the teaching of mechanical design for industrial design students
World Transactions on Engineering and Technology Education Vol.11, No.4, 2013 2013 WIETE Reforming the teaching of mechanical design for industrial design students Xiaojian Liu, Yan Sun & Jianfeng Wu Zhejiang
A QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
Development of an online exam platform for the programming language course: ontology-based approach
icccbe 2010 Nottingham University Press Proceedings of the International Conference on Computing in Civil and Building Engineering W Tizani (Editor) Development of an online exam platform for the programming
Kids College Computer Game Programming Exploring Small Basic and Procedural Programming
Kids College Computer Game Programming Exploring Small Basic and Procedural Programming According to Microsoft, Small Basic is a programming language developed by Microsoft, focused at making programming
TATJA: A Test Automation Tool for Java Applets
TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann [email protected] Abstract Although there are some very good tools to test Web Applications, such tools neglect
Passaic County Technical Institute. Curriculum of Instruction. Computer Science IV. Grade 12
Passaic County Technical Institute Curriculum of Instruction Computer Science IV Grade 12 2014 2015 Prepared by Anjali Wahi Computer Science IV COURSE DESCRIPTION Concentration: Object Oriented Programming
Introduction to programming
Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors
