Programming Shadows

Total Page:16

File Type:pdf, Size:1020Kb

Programming Shadows Programming Shadows Computer programming in the context of the Sundial Simon Wheaton-Smith FRI, MBCS, CITP Phoenix, AZ 1 ILLUSTRATING TIME’S SHADOW Programming Shadows by Simon Wheaton-Smith my business card in 1970 ISBN 978-0-9960026-2-2 Library of Congress Control Number: 2014904841 Simon Wheaton-Smith www.illustratingshadows.com [email protected] (c) 2004-2020 Simon Wheaton-Smith All rights reserved. February 14, 2017 April 1, 2020 2 THE ILLUSTRATING SHADOWS COLLECTION Illustrating Shadows provides several books or booklets:- Simple Shadows Build a horizontal dial for your location. Appropriate theory. Cubic Shadows Introducing a cube dial for your location. Appropriate theory. Cutting Shadows Paper cutouts for you to make sundials with. Illustrating Times Shadow the big book Illustrating Times Shadow ~ Some 400 pages covering almost every aspect of dialing. Includes a short appendix. Appendices Illustrating Times Shadow ~ The Appendices ~ Some 180 pages of optional detailed appendix material. Supplement Supplemental Shadows ~ Material in the form of a series of articles, covers more on the kinds of time, declination confusion, other proofs for the vertical decliner, Saxon, scratch, and mass dials, Islamic prayer times (asr), dial furniture, and so on! Programming Shadows A book discussing many programming languages, their systems and how to get them, many being free, and techniques for graphical depictions. This covers the modern languages, going back into the mists of time. Legacy languages include ALGOL, FORTRAN, the IBM 1401 Autocoder and SPS, the IBM 360 assembler, and Illustrating Shadows provides simulators for them, including the source code. Then C, PASCAL, BASIC, JAVA, Python, and the Lazarus system, as well as Octave, Euler, and Scilab. And of course DeltaCAD and its Basic variant, Python as in FreeCAD and Blender CAD systems, VBS and Java Script as in NanoCAD, programming TurboCAD (VBS and parametric script), and LISP as in the ProgeCAD system. And so on! Illustrating Shadows provides a variety of software tools:- CAD DeltaCAD ~ macros for almost all dialing needs in BASIC NanoCAD ~ dial macros written in VBS and Java Script FreeCAD ~ dial macros written in Python Powerdraw ~ dial macros in a Pascal subset ProgeCAD ~ dial macros written in LISP TurboCAD ~ dial macros written in VBS, and parametric part scripts also Blender ~ dial macros written in Python Languages Programs in the languages are discussed in Programming Shadows Spreadsheets illustratingShadows.xls simpleShadows.xls cubicShadows.xls Updates Check for general updates and corrections at:- www.illustratingshadows.com/reference or scan the QR code to the left which takes you there. 3 Programming Shadows additional programming information for Illustrating Times Shadow I first learned programming in 1966, ALGOL on the Elliot 803. Next it was SPS then Autocoder on the IBM 1401, then BAL on the IBM 360, 370 and later under BPS, BOS, DOS, MFT, MVT, MVS, VM with CMS and GCS. I have programmed in Algol, SPS, Autocoder, BAL, RPG, COBOL (some), PL/I, FORTRAN, ADA, Perl, Pascal, C, C++, Objective C, Java (some), JavaScript, as well as work in BASIC, Excel, macros for DeltaCAD, TurboCAD, FreeCAD, NanoCAD, PowerDraw, ProgeCAD, and Blender, using VBS, Python, and LISP, also I have programmed applications in Scilab, Octave, and Euler. I am the original author of the SHADOW teleprocessing control program, and the CAPEX graphics package which was IBM GDDM call compatible, and co authored Manage-IMS. I also programmed the 1419 MICR system for Thos Cook & Son Travel Checks. I have even programmed using mercury delay line memory! I admit my code has become sloppy after some 48 years. Sorry. But this book is free, however! This book shows the code for various computer languages, and some of the theory. More detailed theory is found in Supplemental Shadows. This book, however, is good for PBE (programming by example), and will save a lot of time when locating, installing, and coding various applications, even if not sundial related. The code herein may not be the most up to date, and current code is found on the website. You may copy some or all of this book provided the website and Illustrating Time’s Shadow are credited. If you benefit from this book, please consider buying the CD or an online download, that helps with web site costs. Please check regularly for updates at: www.illustratingshadows.com/programmingShadows.pdf 1 Programming Shadows Illustrating Times Shadow INTRO 3 INTRODUCTION 4 Available programming systems and languages TECHNIQUES 6 Object Oriented Methods, and classes 8 Language comparisons and techniques 65 Programming techniques: geometry to trigonometry to programming MAINFRAME 74 Early computers 75 IBM 1401 second programming language I learned 107 IBM 360 third programming language I learned 140 IBM 7094 (FORTRAN II) TABULAR 145 Excel Open Office ~ notes for spreadsheets CAD 153 DeltaCAD programmable 2d CAD system, uses BASIC 165 NanoCAD programmable 2d CAD system, uses VBS, free 176 FreeCAD programmable 2d CAD system, uses Python, free 186 ProgeCAD programmable 2d CAD system, uses LISP, free if non commercial, (AutoCAD compatible) 195 TurboCAD VBS 197 Parametric Script 202 notes when manually drafting in 3d 204 Powerdraw a Pascal like free CAD program 210 OpenSCAD a 2D and 3D free CAD system (and OpenJScad) SCIENTIFIC 230 Euler Scientific graphical programmable systems 237 Octave “ “ 245 SciLab “ “ PROCEDURAL 250 JustBASIC a free and an upgraded IDE BASIC system 253 C C++ C# C++ and old fashioned ways of graphics, and C# and modern graphical methods using Canvas (Visual Studio) 278 FORTRAN and old fashioned ways of graphics 278 Algol first language I used in 1966, and old fashioned graphics 289 ADA 298 Pascal and old fashioned ways of graphics 302 Lazarus a Pascal IDE & GUI system 326 COBOL 338 Visual Basic Envelop (no longer available), but good insights, then the Visual Express system, and also dotNET, and finally the 2013 Visual Studio implementation. 349 JAVA Eclipse (as in stand alone Java programs) 358 NetBeans (as in stand alone Java programs) 373 JavaScript as in web pages, good introduction to the Java world 389 Python, as in… Blender ~ a free 3D modeling system 414 Python, as in… as a standalone programming system 426 Perl stand alone PERL 2 INTRODUCTION Much of this material was in Illustrating More Shadows and some is in in Illustrating Times Shadow. However some material was culled when Illustrating Times Shadow was produced (it was the merging of Illustrating Shadows and Illustrating More Shadows), and this book was created in order to retain valuable commentary on some languages, such as Envelop and Visual Basic Express. Additionally, some programming systems were not included in the other books due to low interest, yet they are valuable; examples would be Algol, LISP and the like. Since this was written, some systems are no longer available (Envelop), and some do not work on Vista 64 bit systems (pyScripter for Python). This is not a “how to program” book, it is a cook book designed to get you up to speed quickly. OOP A short introduction to object oriented techniques and event driven programming as opposed to conversational programming kicks off this book. LANGUAGES AND SYSTEMS Most of the systems here have been tested on Windows XP, Vista 64 bit, and Windows 7. Some are no longer available, and some no longer function on newer operating systems. They are retained here for completeness. Many have been tested on Windows 8. SPREADSHEETS Spreadsheets are software programs that allow data to be stored in individual cells, or in columns, or in rows, and for manipulation of that data to take place. This seems simple enough, however there a few traps along the way. NOTE: Open Office is a free package that is mostly compatible with Microsoft Office, however the formulae differ in syntax slightly. NOTE: WPS is an excellent office package. www.kingsoftstore.com/ (c) 2005-2020 Simon Wheaton-Smith All rights reserved. However selections may be copied provided credit is given to this book and author, and the author emailed for information purposes at: illustratingshadows @ yahoo.com Please check: www.illustratingshadows.com regularly for articles, updates, templates, or spreadsheets. An all purpose spreadsheet covering many dialing functions is available there: illustratingShadows.xls 3 AVAILABLE PROGRAMMING SYSTEMS AND LANGUAGES NOTE: The book “Programming Shadows” is strongly recommended since it takes you through the installation, odd quirks, and sample programs. SPREADSHEETS Spreadsheets are software programs that allow data to be stored in individual cells, or in columns, or in rows, and for manipulation of that data to take place. discussed on a prior page Most of the systems here have been tested on Windows XP, Vista, Windows 7, and Windows 8 as well as on 32 and 64 bit systems. CAD SYSTEMS DeltaCAD the standard 2d CAD system used by diallists www.deltacad.com NanoCAD www.nanocad.com FreeCAD http://www.freecadweb.org/ Powerdraw www.powerdraw.software.informer.com ProgeCAD http://www.progesoft.com/en/products/progecad-smart/ TurboCAD http://www.turbocad.com/ SDK and parametric script Blender www.blender.org (more a modeling system than CAD) SCIENTIFIC SYSTEMS Euler http://euler.rene-grothmann.de Scientific Octave http://www.gnu.org/software/octave/ “ “ “ SciLAB http://www.scilab.org/ “ “ “ 4 PROGRAMMING LANGUAGES ADA http://www.libre.adacore.com ALGOL http://www.xs4all.nl/~jmvdveer/algol.html C and C++ There is a free
Recommended publications
  • Mitcalc Brochure
    MITCalc is a multi-language set of mechanical, industrial and technical calculations for the day-to-day routines. It will reliably, precisely, and most of all quickly guide customer through the design of components, the solution of a technical problem, or a calculation of an engineering point without any significant need for expert knowledge. MITCalc contains both design and check calculations of many common tasks, such as: tooth, belt, and chain gear, beam, shaft, springs, bolt connection, shaft connection and many others. There are also many material, comparison, and decision tables, including a system for the administration of resolved tasks. The calculations support both Imperial and Metric units and are processed according to ANSI, ISO, DIN, BS, CSN and Japanese standards. It is an open system designed in Microsoft Excel which allows not only easy user-defined modifications and user extensions without any programming skills, but also mutual interconnection of the calculations, which is unique in the development of tailor-made complex calculations. The sophisticated interaction with many 2D (AutoCAD, AutoCAD LT, IntelliCAD, Ashlar Graphite, TurboCAD) and 3D (Autodesk Inventor, SolidWorks, Solidedge) CAD systems allows the relevant drawing to be developed or 3D models to be inserted in a few seconds. OEM licensing of selected calculations or the complete product is available as well. MITCalc installation packages are available at www.mitcalc.com and after installation customer have 30 days to freely test the product. CAD support 2D CAD systems: Most of the calculations allow direct output to major 2D CAD systems. Just choose your CAD system in the calculation and select the desired view (a projection type).
    [Show full text]
  • Charles Munson
    Charles Munson Current Address Permanent Address France [email protected] Florida, USA http://www.JetWhiz.com OBJECTIVE To obtain a software development or web programming position that utilizes a wide range of computer languages. EDUCATION Georgia Institute of Technology GPA 3.8 Doctor of Philosophy in Electrical & Computer Engineering (Ph.D. in progress) The University of Florida – Gainesville, Florida GPA 3.8, w/ honors Bachelor of Science in Computer Engineering RELEVANT Environments: KNOWLEDGE Experienced in Linux, BSD and Windows environments Knowledgeable with Macintosh-based systems Programming: Expert experience with Perl (14 years), PHP (14 years), JavaScript (15 years), C/C++ (11 years) and SQL Skilled with C# (7 years), Java (10 years), JSON/AJAX (Web 2.0 design), shell scripting (*Nix and Windows) and mobile application development Experience with assembly programming for various processors and microcontrollers (such as the MSP430 and 68HC12), including SPI communication Knowledge with Python, VBScript, QBasic, Pascal, ABAP (SAP), ASP.NET, Haskell Graphical interface (GUI) and user interface design using Java AWT and Swing, and also in C with the GTK+ toolkit and Win32 API Markup Languages: Expert knowledge of HTML5, (X)HTML, DHTML and XML (incl. Atom and RSS) Highly experienced with document formatting and transformations using XSL/XSLT and CSS Hardware: Reconfigurable computing with FPGA and CPLD devices in conjunction with VHDL and schematic design (Quartus) Circuit board (PCB) layout using Altium Designer
    [Show full text]
  • Liste Von Programmiersprachen
    www.sf-ag.com Liste von Programmiersprachen A (1) A (21) AMOS BASIC (2) A# (22) AMPL (3) A+ (23) Angel Script (4) ABAP (24) ANSYS Parametric Design Language (5) Action (25) APL (6) Action Script (26) App Inventor (7) Action Oberon (27) Applied Type System (8) ACUCOBOL (28) Apple Script (9) Ada (29) Arden-Syntax (10) ADbasic (30) ARLA (11) Adenine (31) ASIC (12) Agilent VEE (32) Atlas Transformatikon Language (13) AIMMS (33) Autocoder (14) Aldor (34) Auto Hotkey (15) Alef (35) Autolt (16) Aleph (36) AutoLISP (17) ALGOL (ALGOL 60, ALGOL W, ALGOL 68) (37) Automatically Programmed Tools (APT) (18) Alice (38) Avenue (19) AML (39) awk (awk, gawk, mawk, nawk) (20) Amiga BASIC B (1) B (9) Bean Shell (2) B-0 (10) Befunge (3) BANCStar (11) Beta (Programmiersprache) (4) BASIC, siehe auch Liste der BASIC-Dialekte (12) BLISS (Programmiersprache) (5) Basic Calculator (13) Blitz Basic (6) Batch (14) Boo (7) Bash (15) Brainfuck, Branfuck2D (8) Basic Combined Programming Language (BCPL) Stichworte: Hochsprachenliste Letzte Änderung: 27.07.2016 / TS C:\Users\Goose\Downloads\Softwareentwicklung\Hochsprachenliste.doc Seite 1 von 7 www.sf-ag.com C (1) C (20) Cluster (2) C++ (21) Co-array Fortran (3) C-- (22) COBOL (4) C# (23) Cobra (5) C/AL (24) Coffee Script (6) Caml, siehe Objective CAML (25) COMAL (7) Ceylon (26) Cω (8) C for graphics (27) COMIT (9) Chef (28) Common Lisp (10) CHILL (29) Component Pascal (11) Chuck (Programmiersprache) (30) Comskee (12) CL (31) CONZEPT 16 (13) Clarion (32) CPL (14) Clean (33) CURL (15) Clipper (34) Curry (16) CLIPS (35)
    [Show full text]
  • Which Turbocad Version Is Right for You?
    TurboCAD Pro Platinum 2016 TurboCAD Designer 2016 TurboCAD LTE Pro v9 TurboCAD Deluxe 2016 TurboCAD Pro 2016 TurboCAD LTE v9 Which TurboCAD Version is Right for You? Suggested Retail Price $1,695 $1,495 $299.99 $149.99 $129.99 $49.99 PRODUCT POSITIONING 2D/3D Drafting with Solid and Surface Modeling a a 2D/3D with Surface Modeling a 2D Drafting with Default AutoCAD-like Interface a a 2D Drafting a USABILITY & INTERFACE 32-bit and 64-bit bit versions a a a a a a Command Line a a a a Design Director - for object property management a a a a Draw Order by Layer a a a a a a Dynamic Input Cursor a a a a Easy, Handle-Based Editing a a a a a a Conceptual Selector a a a a a Fully Customizable User Interface and Preferences a a a a a a ePack a a a a Explode Viewports a a Explorer Palette - Complete control over applicationa and Drawing organization and a a a a standards Geolocation of drawings, Compase Rose a a a a a Image Manager a a a Intelligent Cursor - data entry points and feedback visible next to cursor a a a a Layer Filters a a a a a Layer Management a a a a a a Measurement Tools a a a a a a Object SNAP Prioritization a a a a a a Protractor Tool a a a a Flexible UI a a a a Redsdk engine for enhanced drawing performance in wireframe, hidden line and a a a a conceptual rendering viewing TurboCAD Pro Platinum 2016 TurboCAD Designer 2016 TurboCAD LTE Pro v9 TurboCAD Deluxe 2016 TurboCAD Pro 2016 TurboCAD LTE v9 Which TurboCAD Version is Right for You? Transparent and Bit-mapped Fills a a a a True Units Retained between Drawings with Different
    [Show full text]
  • GNAT User's Guide for Native Platforms
    GNAT User's Guide for Native Platforms GNAT User's Guide for Native Platforms , January 13, 2017 AdaCore Copyright c 2008-2017, Free Software Foundation i Table of Contents 1 About This Guide :::::::::::::::::::::::::::::: 2 1.1 What This Guide Contains ::::::::::::::::::::::::::::::::::::: 2 1.2 What You Should Know before Reading This Guide :::::::::::: 2 1.3 Related Information :::::::::::::::::::::::::::::::::::::::::::: 3 1.4 A Note to Readers of Previous Versions of the Manual :::::::::: 3 1.5 Conventions:::::::::::::::::::::::::::::::::::::::::::::::::::: 4 2 Getting Started with GNAT ::::::::::::::::::: 5 2.1 Running GNAT :::::::::::::::::::::::::::::::::::::::::::::::: 5 2.2 Running a Simple Ada Program :::::::::::::::::::::::::::::::: 5 2.3 Running a Program with Multiple Units :::::::::::::::::::::::: 6 2.4 Using the gnatmake Utility ::::::::::::::::::::::::::::::::::::: 7 3 The GNAT Compilation Model ::::::::::::::: 9 3.1 Source Representation:::::::::::::::::::::::::::::::::::::::::: 9 3.2 Foreign Language Representation:::::::::::::::::::::::::::::: 10 3.2.1 Latin-1::::::::::::::::::::::::::::::::::::::::::::::::::: 10 3.2.2 Other 8-Bit Codes:::::::::::::::::::::::::::::::::::::::: 10 3.2.3 Wide Character Encodings ::::::::::::::::::::::::::::::: 11 3.2.4 Wide Wide Character Encodings ::::::::::::::::::::::::: 12 3.3 File Naming Topics and Utilities :::::::::::::::::::::::::::::: 13 3.3.1 File Naming Rules ::::::::::::::::::::::::::::::::::::::: 13 3.3.2 Using Other File Names :::::::::::::::::::::::::::::::::: 14 3.3.3 Alternative
    [Show full text]
  • Pyqgis Testing Developer Cookbook
    PyQGIS testing developer cookbook QGIS Project Sep 25, 2021 CONTENTS 1 Introduction 1 1.1 Scripting in the Python Console ................................... 1 1.2 Python Plugins ............................................ 2 1.2.1 Processing Plugins ...................................... 3 1.3 Running Python code when QGIS starts ............................... 3 1.3.1 The startup.py file ................................... 3 1.3.2 The PYQGIS_STARTUP environment variable ...................... 3 1.4 Python Applications ......................................... 3 1.4.1 Using PyQGIS in standalone scripts ............................. 4 1.4.2 Using PyQGIS in custom applications ............................ 5 1.4.3 Running Custom Applications ................................ 5 1.5 Technical notes on PyQt and SIP ................................... 6 2 Loading Projects 7 2.1 Resolving bad paths .......................................... 8 3 Loading Layers 9 3.1 Vector Layers ............................................. 9 3.2 Raster Layers ............................................. 12 3.3 QgsProject instance .......................................... 14 4 Accessing the Table Of Contents (TOC) 15 4.1 The QgsProject class ......................................... 15 4.2 QgsLayerTreeGroup class ...................................... 16 5 Using Raster Layers 19 5.1 Layer Details ............................................. 19 5.2 Renderer ............................................... 20 5.2.1 Single Band Rasters ....................................
    [Show full text]
  • Metadefender Core V4.12.2
    MetaDefender Core v4.12.2 © 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]
  • A Model-Driven Development and Verification Approach
    A MODEL-DRIVEN DEVELOPMENT AND VERIFICATION APPROACH FOR MEDICAL DEVICES by Jakub Jedryszek B.S., Wroclaw University of Technology, Poland, 2012 B.A., Wroclaw University of Economics, Poland, 2012 A THESIS submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing and Information Sciences College of Engineering KANSAS STATE UNIVERSITY Manhattan, Kansas 2014 Approved by: Major Professor John Hatcliff Abstract Medical devices are safety-critical systems whose failure may put human life in danger. They are becoming more advanced and thus more complex. This leads to bigger and more complicated code-bases that are hard to maintain and verify. Model-driven development provides high-level and abstract description of the system in the form of models that omit details, which are not relevant during the design phase. This allows for certain types of verification and hazard analysis to be performed on the models. These models can then be translated into code. However, errors that do not exist in the models may be introduced during the implementation phase. Automated translation from verified models to code may prevent to some extent. This thesis proposes approach for model-driven development and verification of medi- cal devices. Models are created in AADL (Architecture Analysis & Design Language), a language for software and hardware architecture modeling. AADL models are translated to SPARK Ada, contract-based programming language, which is suitable for software veri- fication. Generated code base is further extended by developers to implement internals of specific devices. Created programs can be verified using SPARK tools. A PCA (Patient Controlled Analgesia) pump medical device is used to illustrate the primary artifacts and process steps.
    [Show full text]
  • Guide Pédagogique
    2de SCIENCES NUMÉRIQUES ET TECHNOLOGIE GUIDE PÉDAGOGIQUE foucherconnect.fr Dans ce manuel, des ressources en accès direct pour tous SCIENCES NUMÉRIQUES ET TECHNOLOGIE 2de GUIDE PÉDAGOGIQUE Coordination : Dominique Lescar Cédric Blivet, professeur de sciences de l’ingénieur, lycée Gustave Monod Enghien-les-Bains (95) Fabrice Danes, professeur de sciences de l’ingénieur, lycée Pierre Mendès-France, Rennes (35) Hassan Dibesse, professeur de sciences de l’ingénieur, lycée Lesage, Vannes (56) Patricia Kerner, professeure de sciences de l’ingénieur, lycée Yves Thépot, Quimper (29) Yannig Salaun, professeur de mathématiques, lycée de l’Élorn, Landerneau (29) Édition : Emmanuelle Mary Mise en page : Grafatom « Le photocopillage, c’est l’usage abusif et collectif de la photocopie sans auto- risation des auteurs et des éditeurs. Largement répandu dans les établissements d’enseignement, le photocopillage menace l’avenir du livre, car il met en danger son équilibre économique. Il prive les auteurs d’une juste rémunération. En dehors de l’usage privé du copiste, toute reproduction totale ou partielle de cet ouvrage est interdite. » ISBN : 978-2-216-15505-7 Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit, des pages publiées dans le présent ouvrage, faite sans autorisation de l’éditeur ou du Centre français du Droit de copie (20, rue des Grands-Augustins, 75006 Paris), est illicite et constitue une contrefaçon. Seules sont autorisées, d’une part, les reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective, et, d’autre part, les analyses et courtes citations justifiées par le caractère scien- tifique ou d’information de l’œuvre dans laquelle elles sont incorporées (Loi du 1er juillet 1992 - art.
    [Show full text]
  • Contents at a Glance
    02_088702 ftoc.qxp 9/26/06 10:13 PM Page ix Contents at a Glance Introduction .................................................................1 Part I: Programming a Computer....................................7 Chapter 1: Learning Computer Programming for the First Time .................................9 Chapter 2: All about Programming Languages .............................................................19 Chapter 3: How to Write a Program ...............................................................................37 Chapter 4: The Tools of a Computer Programmer.......................................................49 Part II: The Building Blocks of Programming ................63 Chapter 5: Getting Started...............................................................................................65 Chapter 6: The Structure of a Computer Program.......................................................75 Chapter 7: Variables, Constants, and Comments.........................................................91 Chapter 8: Crunching Numbers and Playing with Strings.........................................103 Chapter 9: Making Decisions with Branching Statements ........................................119 Chapter 10: Repeating Yourself with Loops................................................................143 Chapter 11: Dividing a Program into Subprograms ...................................................157 Chapter 12: Storing Stuff in Arrays...............................................................................175 Chapter
    [Show full text]
  • Το Παιχνιδι ‘Binary Droids’»
    Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΤΡΑΝΤΖΗ ΑΝΤΩΝΙΑ Α.Ε.Μ. 2090 «ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΩΝ ΜΑΘΗΣΗΣ ΣΕ ΓΛΩΣΣΑ PYTHON: ΤΟ ΠΑΙΧΝΙΔΙ ‘BINARY DROIDS’» (Learning Games Development in Python: The ‘Binary Droids’ Game) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΤΑΥΡΟΣ Επ. Καθηγητής ΘΕΣΣΑΛΟΝΙΚΗ 2015 ΠΕΡΙΛΗΨΗ Π ΕΡΙΛΗΨΗ Αντικείμενο της παρούσας εργασίας είναι η παιχνιδοκεντρική μάθηση και η ανάπτυξη ενός εκπαιδευτικού παιχνιδιού. Με την ανάπτυξη της τεχνολογίας στις μέρες μας, η διαδικασία της εκπαίδευσης και της μάθησης έχουν αλλάξει δραματικά. Η μάθηση δεν είναι πλέον μια κλασσική διαδικασία που στηρίζεται μόνο στα βιβλία. Η εργασία ασχολείται με την παιχνιδοκεντρική μάθηση και τη χρήση των παιχνιδιών σε αυτή τη διαδικασία, ενώ περιγράφεται και η ανάπτυξη ενός τέτοιου εκπαιδευτικού παιχνιδιού. Στο πρώτο μέρος περιγράφεται η έννοια της παιχνιδοκεντρικής μάθησης, εκείνης της διαδικασίας μάθησης που χρησιμοποιεί ως μηχανισμό το παιχνίδι. Επίσης περιγράφονται οι διάφορες κατηγορίες εκπαιδευτικών παιχνιδιών. Στο δεύτερο μέρος γίνεται αναφορά στη γλώσσα Python, το μοντέλο εκτέλεσής της και την ιστορία της. Έπειτα γίνεται αναφορά στη βιβλιοθήκη Pygame και στα εργαλεία που χρησιμοποιήθηκαν στην ανάπτυξη του παιχνιδιού. Στο τρίτο μέρος της εργασίας αναλύεται η υλοποίηση ενός εκπαιδευτικού ψηφιακού παιχνιδιού με τίτλο «Binary Droids», υλοποιημένο σε Python, με χρήση της Pygame. Το παιχνίδι έχει σκοπό την εκμάθηση μιας βασικής έννοιας της Πληροφορικής, αυτήν του δυαδικού συστήματος αρίθμησης, και της μετατροπής αριθμών από το δυαδικό σύστημα στο γνωστό σε όλους δεκαδικό. Το παιχνίδι χρησιμοποιεί επιβραβεύσεις και ποινές, όταν ο χρήστης εκτελεί τις μετατροπές των αριθμών σωστά και όταν τις εκτελεί λάθος, αντίστοιχα. Όσο ο χρήστης επιβραβεύεται για τις επιδόσεις του στο παιχνίδι, ανεβαίνει επίπεδα και συνεπώς αυξάνεται και η δυσκολία.
    [Show full text]
  • The Journal of Computing Sciences in Colleges
    The Journal of Computing Sciences in Colleges Papers of the 29th Annual CCSC Rocky Mountain Conference October 9th-10th, 2020 Front Range Community College Westminster, CO Baochuan Lu, Editor Bin Peng, Associate Editor Southwest Baptist University Park University Pam Smallwood, Regional Editor Regis University Volume 36, Number 2 October 2020 The Journal of Computing Sciences in Colleges (ISSN 1937-4771 print, 1937- 4763 digital) is published at least six times per year and constitutes the refereed papers of regional conferences sponsored by the Consortium for Computing Sciences in Colleges. Copyright ©2020 by the Consortium for Computing Sciences in Colleges. Per- mission 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. To copy otherwise, or to republish, requires a fee and/or specific permission. 2 Table of Contents The Consortium for Computing Sciences in Colleges Board of Directors 5 CCSC National Partners & Foreword 7 Welcome to the 2020 CCSC Rocky Mountain Conference 8 Regional Committees — 2020 CCSC Rocky Mountain Region 9 Reviewers — 2020 CCSC Rocky Mountain Conference 10 Integrating Cloud-based File Storage and NoSQL Databases with Mobile App SQLite — Conference Tutorial 11 Robert Sjodin, Mohamed Lotfy, Regis University What I Have Learned About Teaching
    [Show full text]