Object Orientation Through the Lens of Computer Science Education with Some New Implications from Other Subjects Like the Humanities

Total Page:16

File Type:pdf, Size:1020Kb

Object Orientation Through the Lens of Computer Science Education with Some New Implications from Other Subjects Like the Humanities Technische Universität München Fakultät für Informatik Fachgebiet Didaktik der Informatik Object-Oriented Programming through the Lens of Computer Science Education Marc-Pascal Berges Vollständiger Abdruck der von der Fakultät für Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Prüfer der Dissertation: 1. Univ.-Prof. Dr. Peter Hubwieser 2. Univ.-Prof. Dr. Torsten Brinda, Universität Duisburg-Essen Die Dissertation wurde am 07. April 2015 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 02. Juli 2015 angenommen. Abstract In recent years, the importance of the object-oriented paradigm has changed signifi- cantly. Initially it was mainly used in software engineering, but it is now being used more and more in education. This thesis applies methods of educational assessment and statistics to object-oriented programming and in doing so provides a broad overview of concepts, teaching methods, and the current state of research in this field of computer science. Recently, there have been various trends in introductory courses for object-oriented programming including objects-first and objects-later. Using current pedagogical concepts such as cognitive load theory, conceptual change, and self-directed learning in the context of this work, a teaching approach that dispenses almost entirely of instruction by teachers was developed. These minimally invasive programming courses (MIPC) were carried out in several passes in preliminary courses in the Department of Computer Science at the TU München. The students were confronted with a small programming task just before the first lecture. Using worksheets that were based on the objects-first approach, the essential object-oriented programming concepts were presented with brief explanations. A student tutor was set aside to support each group. The results of the courses have been investigated in various ways. First, changes in conceptual knowledge with concept maps were collected. Second, the program code that was produced was examined. Among other things, we evaluated which concepts were implemented by the novice programmers. The combination of these two methods of investigation provides a link between knowledge and ability. It turns out that there are concepts in programming that can be applied before a classification or representation in existing knowledge structures takes place. The correlation of these results with the personal data collected such as gender, school experiences or previous programming knowledge leads to a detailed picture of the skills and abilities of participating students. Additionally, the psychometric approach of item response theory was applied to the program code. This methodology provides an opportunity to evaluate programming abilities on the basis of programming tasks embedded in small or large projects. The basic idea is that items are created representing observable structural elements in the program code. Based then on the code items applied on the data of the MIPC course, a valid dataset was examined with reference to the Rasch model. A graphical illustration is introduced to visualize the definitions of the concepts covered in the course. The so-called concept specification map (CSM) connects concepts by their definitions. Since there are seldom "complete" definitions in a single place in textbooks, CSM considers specifications of concepts in a larger area. By linking the individual specifications, an overview is achieved of how a specific concept is defined in a given textbook. Furthermore, these important dependencies for teaching are discussed and an example of a qualitative analysis of textbooks is presented. Zusammenfassung In den letzten Jahren hat sich die Bedeutung des objektorientierten Paradigmas ganz erheblich gewandelt. Anfangs wurde es vorwiegend in der Softwaretechnik angewandt, inzwischen geschieht dies aber auch mehr und mehr in der Lehre. Die vorliegende Arbeit wendet geisteswissenschaftliche und statistische Methoden auf die objektorien- tierte Programmierung an und liefert dadurch einen breiten Überblick über Konzepte, Lehrmethoden und die aktuelle Forschung in diesem Bereich der Informatik. Speziell zur Einführung in die objektorientierte Programmierung gibt es in den letzten Jahren verschiedene Strömungen wie objects-first und objects-later. Unter Anwendung aktueller didaktischer Konzepte wie der Cognitive Load Theory, Conceptual Change und Self-Directed Learning entstand im Rahmen dieser Arbeit ein Lehrkonzept, das nahezu komplett auf Instruktion durch Lehrpersonen verzichtet. Diese sog. Mini- mally Invasive Programming Courses (MIPC) wurden in mehreren Durchläufen im Rahmen der Vorkurse der Fakultät für Informatik an der TU München durchgeführt. Dabei wurden die Studierenden bereits vor der ersten Vorlesung mit einer kleinen Programmieraufgabe konfrontiert. Mithilfe von Arbeitsblättern, die sich am Ansatz objects-first orientieren, wurden die zur Lösung notwenigen Konzepte der objektorien- tierten Programmierung mit kurzen Erklärungen vorgestellt. Zur Unterstützung wurde jeder Gruppe ein studentischer Tutor zur Seite gestellt. Die Ergebnisse der Kurse wurden auf verschiedenste Weise untersucht. Zum einen wurden die Veränderungen von konzeptuellem Wissen mit concept maps erhoben. Außerdem wurde der produzierte Programmcode untersucht. Dabei wurde u.a. ausgew- ertet, welche Konzepte die Programmieranfänger umgesetzt haben. Die Verbindung dieser beiden Untersuchungsmethoden liefert einen Zusammenhang zwischen Wissen und Können. Dabei wird erkennbar, dass es Konzepte in der Programmierung gibt, die angewendet werden können, bevor eine Einordnung beziehungsweise Repräsentation in vorhandene Wissensstrukturen stattfindet. Die Korrelation dieser Ergebnisse mit den erhobenen Personendaten wie zum Beispiel Alter, Geschlecht, Schulerfahrung oder Vorkenntnisse in der Programmierung zeigt ein ausführliches Bild der Fähigkeiten und Fertigkeiten der teilnehmenden Studierenden. Zudem lässt sich die Frage beantworten, ob es verschiedene Arten von Programmieranfängern gibt. Des Weiteren wird der psychometrische Ansatz der Item-Response Theorie auf Quell- code angewendet. Dieses Vorgehen ermöglicht es Programmier- bzw. Codierfähigkeiten auf der Basis von in Projekten eingebundenen Programmieraufgaben zu evaluieren. Die grundlegende Idee hinter dem Verfahren ist die Generierung von Items, die struk- turelle Elemente des Programmcodes repräsentieren. Auf Basis der Quellcodes aus den MIPC-Kursen wurde ein gültiges Item-Set im Sinne eines Rasch-Modells ermittelt. Um die in einem Kurs behandelten Konzepte umfassend zu definieren und in einen Zusammenhang zueinander zu bringen, wird eine spezielle graphische Veranschau- lichung eingeführt. Die sog. Concept Specification Map (CSM) verbindet Konzepte durch ihre Definitionen. Da es in Lehrtexten selten “vollständige‘” Definitionen an einer einzigen Stelle gibt, berücksichtigt die CSM Spezifikationen von Konzepten in einem größeren Textabschnitt. Durch die Verknüpfung der einzelnen Spezifikationen ergibt sich ein Überblick, wie bestimmte Konzepte im jeweiligen Lehrbuch definiert werden. Außerdem werden dadurch auch wichtige Abhängigkeiten für die Lehre aufgezeigt. Am Beispiel einer qualitativen Textbuchanalyse werden die Einsatzmöglichkeiten vorge- führt. Acknowledgments The work on a thesis is an interesting and challenging task. First and foremost, it is a big trial for oneself. None of this would be possible without the support of many. So, I want to thank those people at the very beginning. First, I want to thank Prof. Dr. Johann Schlichter for heading the examination committee. Furthermore, I thank Prof. Dr. Torsten Brinda, my second supervisor, for his patience, his advice, and the fast evaluation. A thesis cannot be written without the assistance of very pleasant colleagues. I want to thank you all for the stimulating discussions. Namely, Alexander Ruf and Dino Capovilla, who accompanied me for a long time, should be mentioned here. A very special thanks to Andreas Mühling who was always there to listen to my ideas and to criticize them. The work with him on the gap between knowledge and abilities was very interesting. Additionally, the theoretical clarification of the methods around item response theory and cluster analysis made a huge contribution to the success of this work. To write a thesis without supervision is not possible at all. But, supervision is not the only necessity during the writing process. In Germany we have the word "Doktorvater" which perfectly describes my supervisor Prof. Dr. Peter Hubwieser. During the last seven years, he has supported me in all my endeavors. It was and is a great pleasure to work with him. Without his encouragement, especially during the end of the writing phase, this thesis would have never been finished. Last but not least I have to thank my wife. As I have written in the beginning of these acknowledgments, a thesis is a great adventure and a big trial for oneself. Without her support and the patience, I would not have written these lines. Thank you for everything. Contents 1 Introduction 1 1.1 Problem Setting and Motivation . 1 1.2 Research Questions . 2 1.3 Methodology and Structure . 5 2 Computer Science Background 9 2.1 Small History of the Object-Oriented Paradigm and the Corresponding Programming Languages . 9 2.2 Different Views of Object Orientation . 18 2.2.1 A Definition
Recommended publications
  • Metadefender Core V4.13.1
    MetaDefender Core v4.13.1 © 2018 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of Metadefender Core 14 1. Quick Start with Metadefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Scan Files with Metadefender Core 21 2. Installing or Upgrading Metadefender Core 22 2.1. Recommended System Requirements 22 System Requirements For Server 22 Browser Requirements for the Metadefender Core Management Console 24 2.2. Installing Metadefender 25 Installation 25 Installation notes 25 2.2.1. Installing Metadefender Core using command line 26 2.2.2. Installing Metadefender Core using the Install Wizard 27 2.3. Upgrading MetaDefender Core 27 Upgrading from MetaDefender Core 3.x 27 Upgrading from MetaDefender Core 4.x 28 2.4. Metadefender Core Licensing 28 2.4.1. Activating Metadefender Licenses 28 2.4.2. Checking Your Metadefender Core License 35 2.5. Performance and Load Estimation 36 What to know before reading the results: Some factors that affect performance 36 How test results are calculated 37 Test Reports 37 Performance Report - Multi-Scanning On Linux 37 Performance Report - Multi-Scanning On Windows 41 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3. Configuring Metadefender Core 50 3.1. Management Console 50 3.2.
    [Show full text]
  • Blue, Bluej and Greenfoot
    Kent Academic Repository Full text document (pdf) Citation for published version Kölling, Michael (2016) Lessons from the Design of Three Educational Programming Environments: Blue, BlueJ and Greenfoot. International Journal of People-Oriented Programming, 4 (1). pp. 5-32. ISSN 2156-1796. DOI https://doi.org/10.4018/IJPOP.2015010102 Link to record in KAR http://kar.kent.ac.uk/56662/ Document Version Publisher pdf Copyright & reuse Content in the Kent Academic Repository is made available for research purposes. Unless otherwise stated all content is protected by copyright and in the absence of an open licence (eg Creative Commons), permissions for further reuse of content should be sought from the publisher, author or other copyright holder. Versions of research The version in the Kent Academic Repository may differ from the final published version. Users are advised to check http://kar.kent.ac.uk for the status of the paper. Users should always cite the published version of record. Enquiries For any further enquiries regarding the licence status of this document, please contact: [email protected] If you believe this document infringes copyright then please contact the KAR admin team with the take-down information provided at http://kar.kent.ac.uk/contact.html International Journal of People-Oriented Programming January-June 2015, Vol. 4, No. 1 Table of Contents SIKONL C I T L V PF EP iv Steve Goschnick, Swinburne University of Technology, Melbourne, Australia Leon Sterling, Swinburne University of Technology, Melbourne, Australia
    [Show full text]
  • Java Ide's One-On-One*
    DR. J VS. THE BIRD: JAVA IDE'S ONE-ON-ONE* Michael Olan Computer Science and Information Systems Richard Stockton College Pomona, NJ 08240 609-652-4587 [email protected] ABSTRACT An important decision facing instructors of introductory programming courses is the choice of supporting software development tools. Usually this involves selecting an integrated development environment (IDE). BlueJ has received widespread adoption for first year courses that use the Java programming language; however, DrJava is emerging as an alternative. This paper features a comparison of the pedagogical approaches used by BlueJ and DrJava as a guideline for selecting the tool best suited to the teaching style used in the introductory course. 1. INTRODUCTION The choice was simple when text editors and the command line were the only tools for developing programs. That changed with the introduction of integrated development environments (IDE's), and campuses nationwide adopted Borland's Turbo Pascal. Languages also have changed. Pascal was designed as a teaching language, but now academic programs use advanced languages designed for professional software engineers. Making these complex languages accessible to beginning students requires a careful selection of the development environment. This discussion will only include Java, currently the dominant language choice for introductory courses. Let us first consider several levels of tool support in the introductory course sequence: 1) Minimal: A text editor and the command line. 2) Simple IDE: Just the basics, no bells and whistles. 3) Professional IDE: Powerful and feature filled. ___________________________________________ * Copyright © 2004 by the Consortium for Computing Sciences in Colleges. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the CCSC copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Consortium for Computing Sciences in Colleges.
    [Show full text]
  • Edição De Natal !
    Ano II - Número 5 A revista eletrônica do entusiasta de videogames e microcomputadores clássicos Visitamos a Cinótica! EDIÇÃO DE NATAL ! Entrevistas Internacionais: Ralph Baer Howard S. Warshaw Reviews Especiais: . Prince of Persia . Em Busca dos Tesouros JOGOS 80 1 INDICE C.P.U. EXPEDIENTE Beta - O Retorno ...................................... 04 Jogos 80 é uma publicação da Dickens Editora Virtual. Editor CURIOSIDADES Marcus Vinicius Garrett Chiado Konami´s Synthesizer .............................. 24 Visita à Cinótica ...................................... 22 Co-Editor Eduardo Antônio Raga Luccas Redatores desta Edição EDITORIAL .......................................... 03 Carlos Bragatto Eduardo Antônio Raga Luccas Ericson Benjamin Jorge Braga da Silva JOYSTICK Marcelo Tini E.T. Phone Home! .................................... 17 Marcus Vinicius Garrett Chiado Em Busca dos Tesouros ........................... 09 Murilo Saraiva de Queiroz Fiendish Freddy’s Big Top O’ Fun ............ 15 Revisão M.A.S.H. .................................................. 14 Eduardo Antônio Raga Luccas Prince of Persia ........................................ 11 Marcus Vinicius Garrett Chiado Logotipo Rick Zavala PERSONALIDADES Howard Scott Warshaw .......................... 19 Projeto gráfico e diagramação Ralph Baer .............................................. 06 LuccasCorp. Computer Division Agradecimentos André Saracene Forte TELEX Carlos Bragatto Fernando Salvio Especial: Depoimentos de Natal ............ 25 Howard Scott Warshaw Ralph Baer
    [Show full text]
  • The History of Computer Language Selection
    The History of Computer Language Selection Kevin R. Parker College of Business, Idaho State University, Pocatello, Idaho USA [email protected] Bill Davey School of Business Information Technology, RMIT University, Melbourne, Australia [email protected] Abstract: This examines the history of computer language choice for both industry use and university programming courses. The study considers events in two developed countries and reveals themes that may be common in the language selection history of other developed nations. History shows a set of recurring problems for those involved in choosing languages. This study shows that those involved in the selection process can be informed by history when making those decisions. Keywords: selection of programming languages, pragmatic approach to selection, pedagogical approach to selection. 1. Introduction The history of computing is often expressed in terms of significant hardware developments. Both the United States and Australia made early contributions in computing. Many trace the dawn of the history of programmable computers to Eckert and Mauchly’s departure from the ENIAC project to start the Eckert-Mauchly Computer Corporation. In Australia, the history of programmable computers starts with CSIRAC, the fourth programmable computer in the world that ran its first test program in 1949. This computer, manufactured by the government science organization (CSIRO), was used into the 1960s as a working machine at the University of Melbourne and still exists as a complete unit at the Museum of Victoria in Melbourne. Australia’s early entry into computing makes a comparison with the United States interesting. These early computers needed programmers, that is, people with the expertise to convert a problem into a mathematical representation directly executable by the computer.
    [Show full text]
  • Objects First with Java™ a Practical Introduction Using Bluej
    Objects First with Java™ A Practical Introduction Using BlueJ David J. Barnes and Michael Kölling University of Kent Sixth Edition Boston Columbus Indianapolis New York San Francisco Hoboken Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo A01_BARN7367_06_SE_FM.indd 1 10/03/16 4:08 pm Contents Foreword xiv Preface xv List of Projects Discussed in Detail in This Book xxv Acknowledgments xxviii Part 1 Foundations of Object Orientation 1 Chapter 1 Objects and Classes 3 1.1 Objects and classes 3 1.2 Creating objects 4 1.3 Calling methods 5 1.4 Parameters 6 1.5 Data types 7 1.6 Multiple instances 8 1.7 State 9 1.8 What is in an object? 10 1.9 Java code 11 1.10 Object interaction 12 1.11 Source code 13 1.12 Another example 15 1.13 Return values 15 1.14 Objects as parameters 16 1.15 Summary 17 Chapter 2 Understanding Class Definitions 21 2.1 Ticket machines 21 2.2 Examining a class definition 23 2.3 The class header 25 2.4 Fields, constructors, and methods 26 2.5 Parameters: receiving data 32 2.6 Assignment 34 A01_BARN7367_06_SE_FM.indd 5 10/03/16 4:08 pm vi | Contents 2.7 Methods 35 2.8 Accessor and mutator methods 36 2.9 Printing from methods 39 2.10 Method summary 42 2.11 Summary of the naïve ticket machine 42 2.12 Reflecting on the design of the ticket machine 43 2.13 Making choices: the conditional statement 45 2.14 A further conditional-statement example 47 2.15 Scope highlighting 48 2.16 Local variables 50 2.17 Fields, parameters, and
    [Show full text]
  • Tecnologias Da Informação E Comunicação
    Referências: Guia da Exposição "Memórias das Tecnologias e dos Sistemas de Informação" www.memtsi.dsi.uminho.pt Colecção: memTSI, DSI e Alfamicro http://piano.dsi.uminho.pt/museuv Departamento de Sistemas de Informação da UM www.memtsi.dsi.uminho.pt http://piano.dsi.uminho.pt/museuv || Sinclair ZX81 || Sinclair ZX SPECTRUM || TIMEX 1500 || TIMEX TC 2068 Máquina lançada em 1981, Lançado em 1982, foi um O Timex 1500 foi criado em O Timex TC 2068 foi TECNOLOGIAS com 1K de memória (max dos maiores sucessos Julho de 1983 e era desenvolvido no final de 16K), sem som e sem cor. comerciais no mercado dos basicamente um sinclair 1983 com um processador “home computers”, Z81 com 16KB de RAM Z80A a 3,5 Mhz. DA INFORMAÇÃO desenhado e comercializado incorporada com Dispunha de 48KB de por uma empresa do Reino possibilidade de expansão memória RAM e 16KB de E COMUNICAÇÃO Unido (Sinclair) por poucas até 64KB. memória ROM. TIC dezenas de contos (o preço Tinha um processador Dispunha de conectores de lançamento foi £129.95 ZILOG Z80A que funcionava para monitor, joystick, no Reino Unido). a uma velocidade de 3,5Mhz. leitor/gravador de casetes, Descendente directo do A imagem em ecrã era a 2 porta de expansão e ZX81, incorporou cor e som. cores com uma resolução televisão, usando um sinal Configuração completa com de 64x44. PAL. impressora térmica Sinclair Em modo de texto permitia Tinha uma resolução de 2040 e um gravador áudio 32 colunas e 24 linhas. 256x192 píxeis e permitia (periférico de arquivo) e Não dispunha de som.
    [Show full text]
  • Experiences Using Bluej's Submitter with an Automated Grader
    We use BlueJ in our CS1 course Experiences Using BlueJ’s Submitter with an Automated Grader Aggressively objects-first, taught in Java We teach software testing from the very first lab as well Stephen Edwards Virginia Tech We use an automated grading system called Web-CAT Dept. of Computer Science [email protected] Web-CAT accepts submissions via HTTP http://people.cs.vt.edu/~edwards/ http://web-cat.sourceforge.net/ Stephen Edwards BlueJ Day: Experiences Using BlueJ’s Submitter Virginia Tech Web-CAT is a flexible, customizable grading Our strategy for managing submission system that supports test-based assignments definitions has evolved over time Submission.defs format allows BlueJ to include definitions We require students to write tests for everything from a URL, so they can be loaded from anywhere CS1CS1 Our grading system runs student tests on their code, and Sub. DynamicallyHTML Sub. DynamicallyHTML CS2 defs orGenerated! PHP CS2 Performs static analysis (checkstyle, PMD) defs orGenerated! PHP CS3CS3 Tracks code coverage (Clover) First, we used a single web-hosted definitions file Then we let each instructor write their own, and used a Supports “by hand” feedback too top-level file to include them all together Then we modified Web-CAT to dynamically generate Provides feedback in one, integrated HTML report submission.defs for the assignments it knows about Stephen Edwards BlueJ Day: Experiences Using BlueJ’s Submitter Virginia Tech Stephen Edwards BlueJ Day: Experiences Using BlueJ’s Submitter Virginia Tech Student
    [Show full text]
  • CSC 272 - Software II: Principles of Programming Languages
    CSC 272 - Software II: Principles of Programming Languages Lecture 1 - An Introduction What is a Programming Language? • A programming language is a notational system for describing computation in machine-readable and human-readable form. • Most of these forms are high-level languages , which is the subject of the course. • Assembly languages and other languages that are designed to more closely resemble the computer’s instruction set than anything that is human- readable are low-level languages . Why Study Programming Languages? • In 1969, Sammet listed 120 programming languages in common use – now there are many more! • Most programmers never use more than a few. – Some limit their career’s to just one or two. • The gain is in learning about their underlying design concepts and how this affects their implementation. The Six Primary Reasons • Increased ability to express ideas • Improved background for choosing appropriate languages • Increased ability to learn new languages • Better understanding of significance of implementation • Better use of languages that are already known • Overall advancement of computing Reason #1 - Increased ability to express ideas • The depth at which people can think is heavily influenced by the expressive power of their language. • It is difficult for people to conceptualize structures that they cannot describe, verbally or in writing. Expressing Ideas as Algorithms • This includes a programmer’s to develop effective algorithms • Many languages provide features that can waste computer time or lead programmers to logic errors if used improperly – E. g., recursion in Pascal, C, etc. – E. g., GoTos in FORTRAN, etc. Reason #2 - Improved background for choosing appropriate languages • Many professional programmers have a limited formal education in computer science, limited to a small number of programming languages.
    [Show full text]
  • Evolution of the Major Programming Languages
    COS 301 Programming Languages Evolution of the Major Programming Languages UMaine School of Computing and Information Science COS 301 - 2018 Topics Zuse’s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: LISP ALGOL 60 COBOL BASIC PL/I APL and SNOBOL SIMULA 67 Orthogonal Design: ALGOL 68 UMaine School of Computing and Information Science COS 301 - 2018 Topics (continued) Some Early Descendants of the ALGOLs Prolog Ada Object-Oriented Programming: Smalltalk Combining Imperative and Object-Oriented Features: C++ Imperative-Based Object-Oriented Language: Java Scripting Languages A C-Based Language for the New Millennium: C# Markup/Programming Hybrid Languages UMaine School of Computing and Information Science COS 301 - 2018 Genealogy of Common Languages UMaine School of Computing and Information Science COS 301 - 2018 Alternate View UMaine School of Computing and Information Science COS 301 - 2018 Zuse’s Plankalkül • Designed in 1945 • For computers based on electromechanical relays • Not published until 1972, implemented in 2000 [Rojas et al.] • Advanced data structures: – Two’s complement integers, floating point with hidden bit, arrays, records – Basic data type: arrays, tuples of arrays • Included algorithms for playing chess • Odd: 2D language • Functions, but no recursion • Loops (“while”) and guarded conditionals [Dijkstra, 1975] UMaine School of Computing and Information Science COS 301 - 2018 Plankalkül Syntax • 3 lines for a statement: – Operation – Subscripts – Types • An assignment
    [Show full text]
  • Bluej Manual
    BlueJ COMPANION MANUAL To accompany Big Java 2e and Java Concepts 4e by Cay Horstmann BRUCE QUIG, Deakin University Based on the BlueJ Tutorial by Michael Kölling John Wiley & Sons, Inc. SENIOR ACQUISITIONS EDITOR Bill Zobrist EDITORIAL ASSISTANT Bridget Morrisey PRODUCTION EDITOR Marsheela Evans MARKETING DEVELOPMENT MANAGER Phyllis Cerys . Book printed and bound by________________. The cover was printed by__________________. This book is printed on acid free paper. ∞ Copyright 2005 John Wiley & Sons, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc. 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978)646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008. To order books or for customer service please, call 1-800-CALL WILEY (225-5945). ISBN 0-471-73712-7 Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 Contents 1 About BlueJ 1 About this manual 2 Scope and audience 2 Feedback 2 2 Installation 3 Installation on Windows 3 Installation on Macintosh 4 Installation on Linux/Unix and other Systems 4 Installation problems 4 3 Getting started – using classes 5 Starting BlueJ 5 Creating the project directory 5 Exploring System classes 5 Creating Library objects 7 Execution 8 4 Writing your own classes 11 Opening an existing project 11 Editing a class 12 Compilation 13 Help with compiler errors 14 Creating objects 14 Adding a Driver class 16 5 Doing a bit more..
    [Show full text]
  • The Bluej Environment Reference Manual
    The BlueJ Environment Reference Manual Version 2.0 for BlueJ Version 2.0 Kasper Fisker Michael Kölling Mærsk Mc-Kinney Moller Institute University of Southern Denmark HOW DO I ... ? – INTRODUCTION ........................................................................................................ 1 ABOUT THIS DOCUMENT................................................................................................................................. 1 RELATED DOCUMENTS.................................................................................................................................... 1 REPORT AN ERROR.......................................................................................................................................... 1 USING THE CONTEXT MENU........................................................................................................................... 1 1 PROJECTS.......................................................................................................................................... 2 1.1 CREATE A NEW PROJECT................................................................................................................... 2 1.2 OPEN A PROJECT ............................................................................................................................... 2 1.3 FIND OUT WHAT A PROJECT DOES .................................................................................................... 2 1.4 COPY A PROJECT ..............................................................................................................................
    [Show full text]