NKS Experimental Design and Implementation for Students
|
|
- Emil Clarence Stevenson
- 5 years ago
- Views:
Transcription
1 1/40 NKS Experimental Design and Implementation for Students Jamie Raymond Northeastern University An NKS 2004 Presentation
2 Introduction 2/40 Experimentation is at the heart of NKS. Conducting general NKS experiments involves programming. Where can NKS and programming meet at the pre-college level?
3 Pre-college 3/40 Two approaches to introducing NKS 1. Computing courses: interesting problem domain 2. Domain courses (science,math): computer experiments that require programming My Experience
4 Roadmap 4/40 NKS Experimental Design Programming for NKS Experiments TeachScheme! Introductory NKS Exercise
5 NKS Experiments Simple Programs 5/40 CAs, Turing machines, substitution systems, numerical systems, multiway systems, and et cetera. Experimentation Data generation Analysis (visual, statistical, etc.)
6 Scientific Method for NKS Textbook Scientific Method 6/40 1. Observation 2. Hypothesis 3. Experiment 4. Conclusion
7 Scientific Method for NKS NKS Scientific Method 7/40 1. Observation 2. Question 3. Visualization 4. Experiment: Generation and Analysis 5. Conclusion
8 Beginning Programmers 8/40 Cognitive Model Issues Syntax Errors Blank screen
9 Programming 9/40 Language Environment Methodology
10 One language fits all? 10/40 C? Java? Python? Scheme? Mathematica?
11 TeachScheme! 11/40 Less syntax, more problem solving Pillars of TeachScheme! Curriculum Language Levels Programming Environment
12 Curriculum How to Design Programs Felleisen, Findler, Flatt, Krishnamurthi MIT Press, /40
13 Design Recipe 13/40 1. Problem Analysis & Data Definition 2. Contract, Purpose, Header 3. Examples 4. Function Template 5. Function Definition 6. Tests
14 Template matches Data Definition A List-of-Number is one of: -- empty -- (cons Number List-of-Number) 14/40 ;;Template ;;LON-f: List-of-Number ->??? (define (LON-f a-lon) (cond [(empty? a-lon)...] [(cons? a-lon)...(first a-lon)......(lon-f (rest a-lon))]))
15 Language Levels 15/40 Beginner through Advanced Better error reporting More pedagogic control Teachpacks
16 Programming Environment: DrScheme 16/40
17 17/40
18 DrScheme 18/40 Interactive Algebraic Stepper Syntax Checker Errors Matter!
19 Introductory NKS Exercise 19/40 Analyze an arbitrarily complicated S-K combinator expression and produce the the number of Ss in the expression. Extensions Statistics (e.g. distribution of S and K) Generation (create raw data) Compilation (combinators emulating other systems)
20 S-K Combinators 20/40 Symbolic system (see NKS, pg 711) Two rules: s[x ][y ][z ] -> x[z][y[z]] k[x ][y ] -> x s[s[k[s]][s[k[s[s[k][k]]]]][s[k[k]][s[s[s[s[s[k][k]]]]]]]]
21 Data Definition An SK-Exp is one of: empty (cons s SK-Exp) (cons k SK-Exp) (cons SK-Exp SK-Exp) 21/40
22 Contract/Purpose/Header ;;count-s: SK-exp -> Number ;; return the number of S in the exp (define (count-s ask)...) 22/40
23 Examples (count-s empty) "should be" 0 (count-s (s)) "should be" 1 (count-s (s k s)) "should be" 2 (count-s ((s s k (s (s s k))) k)) "should be" 5 23/40
24 Function Template Reminder: Data Definition An SK-Exp is one of: empty (cons s SK-Exp) (cons k SK-Exp) (cons SK-Exp SK-Exp) 24/40 Template (define (SK-fun ask) (cond [(empty? ask)...] [(cons? (first ask))...(sk-fun (first ask))...(sk-fun (rest ask))...] [(symbol=? (first ask) s)...(first ask)...(sk-fun (rest ask))...] [(symbol=? (first ask) k)...(first ask)...(sk-fun (rest ask))...]))
25 Function Body (define (count-s ask) (cond [(empty? ask) 0] [(cons? (first ask)) (+ (count-s (first ask)) (count-s (rest ask)))] [(symbol=? (first ask) k) (count-s (rest ask))] [(symbol=? (first ask) s) (+ 1 (count-s (rest ask)))])) 25/40
26 Testing 26/40
27 27/40
28 S-K Combinators: Mathematica 28/40
29 Data Definition Data Definition An SK-exp is one of: {} Prepend[SK-exp, "s"] Prepend[SK-exp, "k"] Prepend[SK-exp, SK-exp] 29/40
30 Examples SCount [{}] === 0 SCount[{"S"}] === 1 SCount[{"S", "K"}] === 1 SCount[{"S", {"K"}}] === 1 SCount[{{"S", "S", "K", {"S", {"S", "S", "K"}}}, "K"}] === 5 30/40
31 Body Clear[SCount]; SCount[ske_] := Which[ ske == {}, 0, First[ske] === "S", 1 + SCount[Rest[ske]], First[ske] === "K", SCount[Rest[ske]], True, SCount[First[ske]] + SCount[Rest[ske]]]; 31/40
32 Testing 32/40
33 33/40
34 Errors 34/40
35 35/40
36 36/40
37 Stepper 37/40
38 38/40
39 39/40
40 Concluding Thoughts 40/40 Programming and NKS Little languages Future directions
OOP as an Enrichment of FP
Position Paper for OOPSLA 2001 Workshop Pedagogies and Tools for Assimilating Object-Oriented Concepts Abstract OOP as an Enrichment of FP Robert "Corky" Cartwright and Dung "Zung" Nguyen Department of
More informationOutline. Helper Functions and Reuse. Conditionals. Evaluation Rules for cond. Design Recipe with cond. Compound Data
Outline Helper Functions and Reuse Conditionals Evaluation Rules for cond Design Recipe with cond Compound Data 1 Designing Programs Design recipe As outlined last lecture 2 Designing Programs Design recipe
More informationWelcome to CS 135 (Winter 2018)
Welcome to CS 135 (Winter 2018) Instructors: Sandy Graham, Paul Nijjar Other course personnel: see website for details ISAs (Instructional Support Assistants) IAs (Instructional Apprentices) ISC (Instructional
More informationThe TeachScheme! Project: Computing and Programming for Every Student
The TeachScheme! Project: Computing and Programming for Every Student Matthias Felleisen 1, Robert Bruce Findler 2, Matthew Flatt 3, and Shriram Krishnamurthi 4 1 Northeastern University, Boston, USA 2
More informationThe First Year. Matthias Felleisen PLT Northeastern University, Boston
The First Year Matthias Felleisen PLT Northeastern University, Boston Where it all began Starting in 1995 (January 26) @ Rice University The How to Design Project TeachScheme! DrScheme and ProfessorJ...
More informationWelcome to CS 135 (Fall 2018) Themes of the course. Lectures. cs135/
Welcome to CS 135 (Fall 2018) Instructors: Byron Weber Becker, Charles Clarke, Gord Cormack, Robert Hackman, Kevin Lanctot, Paul Nijjar, Adrian Reetz Other course personnel: see website for details ISAs
More informationJohn Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA (805)
Curriculum Vitae Contact Information Education John Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA 93407 (805)756-6528 clements@brinckerhoff.org 2005
More informationWelcome to CS 115 (Winter 2018)
Welcome to CS 115 (Winter 2018) Web page (the main information source): http://www.student.cs.uwaterloo.ca/ cs115/ Course Personnel: Contact information and office hours for all staff: instructors, ISAs
More informationDesign of a Simple Functional Programming Language and Environment for CS2
Design of a Simple Functional Programming Language and Environment for CS2 Brian T. Howard Department of Computer Science, DePauw University Abstract There are several advantages to introducing a functional
More informationWelcome to CS 115 (Winter 2019)
Welcome to CS 115 (Winter 2019) Web page (the main information source): http://www.student.cs.uwaterloo.ca/ cs115/ Course Personnel: Contact information and office hours for all staff: instructors, ISAs
More informationLocal definitions and lexical scope
Local definitions and lexical scope Readings: HtDP, Intermezzo 3 (Section 18). Language level: Intermediate Student CS 135 Winter 2018 09: Local definitions and lexical scope 1 Local definitions The functions
More informationLocal definitions and lexical scope. Local definitions. Motivating local definitions. s(s a)(s b)(s c), where s = (a + b + c)/2.
Local definitions and lexical scope Readings: HtDP, Intermezzo 3 (Section 18). Language level: Intermediate Student CS 135 Winter 2018 09: Local definitions and lexical scope 1 Local definitions The functions
More informationOutline. Data Definitions and Templates Syntax and Semantics Defensive Programming
Outline Data Definitions and Templates Syntax and Semantics Defensive Programming 1 Data Definitions Question 1: Are both of the following data definitions ok? ; A w-grade is either ; - num ; - posn ;
More informationSCHEME AND JAVA IN THE FIRST YEAR
SCHEME AND JAVA IN THE FIRST YEAR Stephen A. Bloch Department of Math & Computer Science Adelphi University Garden City, NY 11530 516-877-4483 sbloch@adelphi.edu ABSTRACT We compare the experiences of
More informationCS115 INTRODUCTION TO COMPUTER SCIENCE 1. Additional Notes Module 5
CS115 INTRODUCTION TO COMPUTER SCIENCE 1 Additional Notes Module 5 Example my-length (Slide 17) 2 (define (my-length alos) [(empty? alos) 0] [else (+ 1 (my-length (rest alos)))])) (my-length empty) alos
More informationOOP as an Enrichment of FP
OOP as an Enrichment of FP Robert Corky Cartwright Rice University Abstract At Rice University, we have taught functional programming (FP) in Scheme in our first semester programming course for the past
More informationModule 5: Lists. Readings: HtDP, Sections 9, 10.
Module 5: Lists Readings: HtDP, Sections 9, 10. Lists are the main tool used in Racket to work with unbounded data. As with conditional expressions and structures, the data definition for lists leads naturally
More informationIntroductory Computing: The Design Discipline
Introductory Computing: The Design Discipline Viera Kr anová Proulx * Northeastern University, 360 Huntington Ave., Boston, MA 02115, USA vkp@ccs.neu.edu Abstract. The goal of this paper is to present
More informationAppendix A: Objectives and Courseware Locations
Appendix A A-1 Appendix A: Objectives and Courseware Locations The course and this appendix are designed to help students prepare for the digital certificate exam. Students can use this appendix as a study
More informationCSc 520 Principles of Programming Languages
CSc 520 Principles of Programming Languages 3: Scheme Introduction Christian Collberg collberg@cs.arizona.edu Department of Computer Science University of Arizona Copyright c 2005 Christian Collberg [1]
More informationTHE PEDAGOGY OF PROGRAM DESIGN.
THE PEDAGOGY OF PROGRAM DESIGN. VIERA KRŇANOVÁ PROULX, PHD. College of Computer and Information Science, Northeastern University, 360 Huntington Ave, Boston, MA, USA, tel. ++1-617-3732225, e-mail: vkp@ccs.neu.edu
More informationWorking with recursion. From definition to template. Readings: HtDP, sections 11, 12, 13 (Intermezzo 2).
Working with recursion Readings: HtDP, sections 11, 12, 13 (Intermezzo 2). We can extend the idea of a self-referential definition to defining the natural numbers, which leads to the use of recursion in
More informationWorking with recursion
Working with recursion Readings: HtDP, sections 11, 12, 13 (Intermezzo 2). We can extend the idea of a self-referential definition to defining the natural numbers, which leads to the use of recursion in
More informationCS115 - Module 10 - General Trees
Fall 2017 Reminder: if you have not already, ensure you: Read How to Design Programs, Sections 15 and 16. Arithmetic Expressions Recall with binary trees we could represent an expression containing binary
More informationComputability Theory Of and With Scheme
Computability Theory Of and With Scheme Prof. Albert R. Meyer MIT Computer Science & Artificial Intelligence Laboratory Scheme-based Texts 1) Abelson & Sussman. 2nd ed. 1996 2) Friedman & Felleisen. 4th
More informationLists. Readings: HtDP, sections 9 and 10. Avoid 10.3 (uses draw.ss). CS 135 Winter : Lists 1
Lists Readings: HtDP, sections 9 and 10. Avoid 10.3 (uses draw.ss). CS 135 Winter 2018 05: Lists 1 Introducing lists Structures are useful for representing a fixed amount of data. But there are many circumstances
More informationStyle and Submission Guide
Style and Submission Guide 1 Assignment Style Guidelines The code you submit for assignments, as with all code you write, can be made more readable and useful by paying attention to style. This includes
More informationACL2 in DrScheme. Rex Page. Dale Vaillancourt. Matthias Felleisen ABSTRACT
ACL2 in DrScheme Dale Vaillancourt Northeastern University Boston, MA 02115 dalev@ccs.neu.edu Rex Page School of Computer Science University of Oklahoma 200 Felgar St, Room 119 Norman, OK 73019-6151 page@ou.edu
More informationFunctional abstraction. What is abstraction? Eating apples. Readings: HtDP, sections Language level: Intermediate Student With Lambda
Functional abstraction Readings: HtDP, sections 19-24. Language level: Intermediate Student With Lambda different order used in lecture section 24 material introduced much earlier sections 22, 23 not covered
More informationFunctional abstraction
Functional abstraction Readings: HtDP, sections 19-24. Language level: Intermediate Student With Lambda different order used in lecture section 24 material introduced much earlier sections 22, 23 not covered
More informationSymbolic Reasoning. Dr. Neil T. Dantam. Spring CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Symbolic Reasoning Spring / 86
Symbolic Reasoning Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Spring 2019 Dantam (Mines CSCI-561) Symbolic Reasoning Spring 2019 1 / 86 Introduction Definition: Symbolic Reasoning Inference
More informationModule 4: Compound data: structures
Module 4: Compound data: structures Readings: Sections 6 and 7 of HtDP. Sections 6.2, 6.6, 6.7, 7.4, and 10.3 are optional reading; they use the obsolete draw.ss teachpack. The teachpacks image.ss and
More informationRewriting your function using map and foldr
Rewriting your function using map and foldr CS 5010 Program Design Paradigms Bootcamp Lesson 5.5 Mitchell Wand, 2012-2014 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International
More informationCalculator Problem and the Design Recipe
Curricular Patterns Editor: Joe Bergin, Computer Science Department, Pace University; berginf@pace.edu Calculator Problem and the Design Recipe Viera K. Proulx and Tanya Cashorali College of Computer and
More informationCS115 - Module 4 - Compound data: structures
Fall 2017 Reminder: if you have not already, ensure you: Read How to Design Programs, sections 6-7, omitting 6.2, 6.6, 6.7, and 7.4. Compound data It often comes up that we wish to join several pieces
More informationDEVELOPING DEVELOPERS MATTHIAS FELLEISEN, PLT, NUPRL
DEVELOPING DEVELOPERS MATTHIAS FELLEISEN, PLT, NUPRL THE BEGINNING (1992/95) C++ SiCP CS I AP, high schools the better math computational physics C, Pascal, Ratfor, Fortran economics come alive THE BEGINNING
More informationLearn To Program With C# By John Smiley, Michael Mueller
Learn To Program With C# By John Smiley, Michael Mueller Introduction to Programming with C# / Java Books» Bulgarian C# book - If you, however, are a beginning programmer and want to learn to code and
More informationCS 190C: Introduction to Computational Thinking
CS 190C: Introduction to Computational Thinking http://secant.cs.purdue.edu/cs190c:start Python Programming: An Introduction to Computer Science Zelle s book is a gentle introductory computing text used
More informationü 1.1 Getting Started
Chapter 1 Introduction Welcome to Mathematica! This tutorial manual is intended as a supplement to Rogawski's Calculus textbook and aimed at students looking to quickly learn Mathematica through examples.
More informationModule 4: Compound data: structures
Module 4: Compound data: structures Readings: Sections 6 and 7 of HtDP. Sections 6.2, 6.6, 6.7, 7.4, and 10.3 are optional readings; they use the obsolete draw.ss teachpack. The teachpacks image.ss and
More informationFunctions that return lists
342 Chapter 23 Functions that return lists If you did exercises 22.5.15 or 22.5.16, you ve already written some functions that return lists, but only in a very simple way: adding one new element to the
More informationormap, andmap, and filter
ormap, andmap, and filter CS 5010 Program Design Paradigms Bootcamp Lesson 6.3 Mitchell Wand, 2012-2015 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
More informationA SCHEME UNIT-TESTING FRAMEWORK
A SCHEME UNIT-TESTING FRAMEWORK Sara von Mosch Division of Science and Mathematics University of Minnesota, Morris vonmoss@mrs.umn.edu Scott Lewandowski Division of Science and Mathematics University of
More informationReasoning About Programs Panagiotis Manolios
Reasoning About Programs Panagiotis Manolios Northeastern University February 26, 2017 Version: 100 Copyright c 2017 by Panagiotis Manolios All rights reserved. We hereby grant permission for this publication
More informationEECS 395 Programming Languages
EECS 395 Programming Languages Winter 2010 Instructor: Robby Findler 1 Course Details http://www.eecs.northwestern.edu/~robby/ courses/395-2010-winter/ (or google findler and follow the links) 2 Programming
More informationModule 8: Local and functional abstraction
Module 8: Local and functional abstraction Readings: HtDP, Intermezzo 3 (Section 18); Sections 19-23. We will cover material on functional abstraction in a somewhat different order than the text. We will
More informationWelcome to CS 135 (Winter 2018) Themes of the course. Lectures. https://www.student.cs.uwaterloo.ca/ cs135/ Instructors: Sandy Graham, Paul Nijjar
Welcome to CS 135 (Winter 2018) Instructors: Sandy Graham, Paul Nijjar Other course personnel: see website for details ISAs (Instructional Support Assistants) IAs (Instructional Apprentices) ISC (Instructional
More informationSupporting Introductory Test-Driven Labs with WebIDE
Supporting Introductory Test-Driven Labs with WebIDE Thomas Dvornik Salesforce.com San Francisco, CA, USA tdvornik@salesforce.com David S. Janzen, John Clements, Olga Dekhtyar California Polytechnic State
More informationTYPES ARE LIKE THE WEATHER, TYPE SYSTEMS ARE LIKE WEATHERMEN MATTHIAS FELLEISEN, RACKETEER
TYPES ARE LIKE THE WEATHER, TYPE SYSTEMS ARE LIKE WEATHERMEN MATTHIAS FELLEISEN, RACKETEER TYPES @ STRANGE LOOP Types Types Mr. Misunderstood MY OWN PATH TO APPRECIATION 1978 Algol 60, Simula 67, Pascal,
More informationUse of Clojure in Undergraduate CS Curriculum
Use of Clojure in Undergraduate CS Curriculum Elena Machkasova University of Minnesota, Morris Boston Clojure meetup, November 8, 2012. 1 / 29 Outline UMM CS program 1 UMM CS program About UMM CS Clojure
More informationTest-Driven Design for Introductory OO Programming. Viera Krňanová Proulx. Northeastern University. SIGCSE 2009, Chatanooga, TN
Test-Driven Design for Introductory OO Programming Viera Krňanová Proulx Northeastern University vkp@ccs.neu.edu SIGCSE 2009, Chatanooga, TN 1 Disclaimer This is not TDD TeachScheme/ReachJava curriculum
More informationLists of Lists. CS 5010 Program Design Paradigms Bootcamp Lesson 6.5
Lists of Lists CS 5010 Program Design Paradigms Bootcamp Lesson 6.5 Mitchell Wand, 2012-2015 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. 1 Learning
More informationcmpt 440/821 Advanced Topics in Programming Languages
cmpt 440/821 Advanced Topics in Programming Languages Christopher Dutchyn January 3, 2017 Programmers spend a lot of time understanding and improving their tools: editors, profilers, debuggers, and so
More informationLearning System FRIMAN
Learning System FRIMAN Jozef Kostolny and Monika Vaclavkova Department of Informatics, University of Zilina Zilina, Slovak Republic (Jozef.Kostolny, Monika.Vaclavkova)@fri.uniza.sk Abstract. Education
More informationThe Future of Programming Languages. Will Crichton CS /28/18
The Future of Programming Languages Will Crichton CS 242 11/28/18 Thesis: The future of performance optimization is better programming models, not better optimizers. Thesis: programming languages The future
More informationCase Study: Undefined Variables
Case Study: Undefined Variables CS 5010 Program Design Paradigms Bootcamp Lesson 7.4 Mitchell Wand, 2012-2017 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International
More informationVector Programming Using Structural Recursion An Introduction to Vectors for Beginners
Vector Programming Using Structural Recursion An Introduction to Vectors for Beginners Marco T. Morazán Seton Hall University morazanm@shu.edu Vector programming is an important topic in many Introduction
More informationCS 115 Lecture Notes Winter 2019
CS 115 Lecture Notes Winter 2019 Collin Roberts January 8, 2019 Contents 1 Lecture 01 6 1.1 Administrivia........................... 6 1.2 Introduction to CS 115 - Course Website and Slides 1-9.... 6 1.3
More informationLambda the Ultimate. Corky Cartwright Vivek Sarkar Department of Computer Science Rice University
Lambda the Ultimate Corky Cartwright Vivek Sarkar Department of Computer Science Rice University 1 Function filter2: variant of filter1 function from last lecture ;; filter2 : test lon -> lon ;; to construct
More informationCS 135 Fall 2018 Final Exam Review. CS 135 Fall 2018 Final Exam Review 1
CS 135 Fall 2018 Final Exam Review CS 135 Fall 2018 Final Exam Review 1 Final Exam Information The final exam will be held on Saturday, December 15 th 9:00AM - 11:30AM in the PAC Check your exam seating
More informationDeclarative Programming Across the Undergraduate Curriculum
Declarative Programming Across the Undergraduate Curriculum Amr Sabry Department of Computer and Information Science University of Oregon Eugene, OR 97403 Abstract In its ultimate form, declarative programming
More informationCS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon
CS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon Groups of up to three students may submit common solutions for each problem in this homework and in all future homeworks You are responsible
More informationRegistration Workshop. Nov. 1, 2017 CS/SE Freshman Seminar
Registration Workshop Nov. 1, 2017 CS/SE Freshman Seminar Computer Science Department Website: http://cs.mtech.edu Program descriptions under Degrees & Options Mission statements under Accreditation &
More informationThe Design Recipe Fall 2017
CS17 Integrated Introduction to Computer Science Hughes The Design Recipe Fall 2017 Contents 1 Design Recipe Steps 1 2 An OCaml Example 6 1 Design Recipe Steps This PDF outlines the steps to writing the
More informationFrom Principles to Practice with Class in the First Year
From Principles to Practice with Class in the First Year Sam Tobin-Hochstadt Northeastern University Boston, Massachusetts, USA {samth,dvanhorn}@ccs.neu.edu David Van Horn We propose a bridge between functional
More informationSyllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview
Course Number: CS 361 Course Title: Control Structures Course Description: Syllabus CS 361. CONTROL STRUCTURES (3). Discusses basic concepts of computer organization. Develops a precise and logical methodology
More informationTOWARDS CUSTOMIZABLE PEDAGOGIC PROGRAMMING LANGUAGES
TOWARDS CUSTOMIZABLE PEDAGOGIC PROGRAMMING LANGUAGES by Kathryn E. Gray A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor
More informationOn the Interplay Between Bottom-Up and Datatype-Driven Program Design
On the Interplay Between Bottom-Up and Datatype-Driven Program Design ABSTRACT Francisco Enrique Vicente Castro Department of Computer Science Worcester Polytechnic Institute 100 Institute Road, Worcester,
More information15 Unification and Embedded Languages in Lisp
15 Unification and Embedded Languages in Lisp Chapter Objectives Chapter Contents Pattern matching in Lisp: Database examples Full unification as required for Predicate Calculus problem solving Needed
More informationCSCI 334: Principles of Programming Languages. Lecture 2: Lisp Wrapup & Fundamentals. Higher-Order Functions. Activity
Garbage Collection CSCI 334: Principles of ming Languages Lecture 2: Lisp Wrapup & Fundamentals ~] java -verbose:gc Garbage [GC 17024K->3633K(83008K), 0.0067267 secs] [GC 20657K->6988K(83008K), 0.0073014
More informationAssignment: 7. Due: Language level: Allowed recursion:
Assignment: 7 Due: Language level: Allowed recursion: CS 135 Winter 2018 Graham, Nijjar Tuesday, March 13th, 2018 9:00pm Beginning Student with List Abbreviations Pure Structural and Structural Recursion
More information4. Structure of a C++ program
4.1 Basic Structure 4. Structure of a C++ program The best way to learn a programming language is by writing programs. Typically, the first program beginners write is a program called "Hello World", which
More informationOn Teaching How to Design Programs
Reprinted from Proceedings of the 2014 ACM SIGPLAN International Conference on Functional Programming (ICFP 14) On Teaching How to Design Programs Observations from a Newcomer Norman Ramsey Department
More informationWelcome to CS 135 (Fall 2018)
Welcome to CS 135 (Fall 2018) Instructors: Byron Weber Becker, Charles Clarke, Gord Cormack, Robert Hackman, Kevin Lanctot, Paul Nijjar, Adrian Reetz Other course personnel: see website for details ISAs
More informationCS115 - Module 9 - filter, map, and friends
Fall 2017 Reminder: if you have not already, ensure you: Read How to Design Programs, Intermezzo 3 (Section 18); Sections 19-23. Abstraction abstraction, n. 3a.... The process of isolating properties or
More information15100 Fall 2005 Final Project
15100 Fall 2005 Final Project Robby Findler & Jacob Matthews 1 Introduction to Sudoku Sudoku is a logic puzzle set on a nine by nine grid. The goal is to fill in the blank spaces in the puzzle with the
More informationOrganizing Information. Organizing information is at the heart of information science and is important in many other
Dagobert Soergel College of Library and Information Services University of Maryland College Park, MD 20742 Organizing Information Organizing information is at the heart of information science and is important
More informationDROPLET, A BLOCKS BASED EDITOR FOR TEXT CODE. David Anthony Bau Phillips Exeter Academy 20 Main Street, Exeter, NH
DROPLET, A BLOCKS BASED EDITOR FOR TEXT CODE David Anthony Bau Phillips Exeter Academy 20 Main Street, Exeter, NH 781 795 2906 dab1998@gmail.com ABSTRACT Droplet is a new programming editor, created by
More informationegrapher: A Programming Language for Art
egrapher: A Programming Language for Art Long Long: ll3078@columbia.edu Xinli Jia: xj2191@columbia.edu Jiefu Ying: jy2799@columbia.edu Linnan Wang: lw2645@columbia.edu Darren Chen: dsc2155@columbia.edu
More informationThe RASTA Framework. Joel Becker October 3, 2001
The RASTA Framework Joel Becker October 3, 2001 Abstract RASTA is an framework for describing tasks on a computer system. It is well known that casual and non-expert users prefer to be guided through tasks
More informationProgramming Systems in Artificial Intelligence Functional Programming
Click to add Text Programming Systems in Artificial Intelligence Functional Programming Siegfried Nijssen 8/03/16 Discover thediscover world at the Leiden world University at Leiden University Overview
More informationGOALS [HTDP/2e Chapters 1 through 3.5]
Lab 1 GOALS [HTDP/2e Chapters 1 through 3.5] This week's lab will help you to practice: Using Dr.Racket: Interactions vs. Definitions; Stepper; Error messages; Indentation Simple image functions; using
More informationThesis & Dissertation Formatting Checklist
Thesis & Dissertation Formatting Checklist Thank you for submitting your document to the Graduate College. Please review the checklists below. Items that are not checked need to be revised, please check
More informationCSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education
CSE 142 Lecture 1 Course Introduction; Basic Java Welcome Today: Course mechanics A little about computer science & engineering (CSE) And how this course relates Java programs that print text 2 Handouts
More informationA Crash Course on Limits (in class worksheet)
A Crash Course on Limits (in class worksheet) Many its may be found easily by simple substitution. For example: x x x ( ) = f() = and x = f () = 8 7 and x x = f () = So the first rule is to always TRY
More informationambrosys The Taylor series method for ordinary differential equations Karsten Ahnert 1,2 Mario Mulansky 2 December, 8, 2011
1 The Taylor series method for ordinary differential equations Karsten Ahnert 1,2 Mario Mulansky 2 1 Ambrosys GmbH, Potsdam 2 Institut für Physik und Astronomie, Universität Potsdam December, 8, 2011 ambrosys
More informationCS 135 Winter 2018 Tutorial 8: Mutual recursion, nested lists, and local. CS 135 Winter 2018 Tutorial 8: Mutual recursion, nested lists, and local 1
CS 135 Winter 2018 Tutorial 8: Mutual recursion, nested lists, and local CS 135 Winter 2018 Tutorial 8: Mutual recursion, nested lists, and local 1 Goals of this tutorial You should be able to... write
More informationOutline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context
Types 1 / 15 Outline Introduction Concepts and terminology The case for static typing Implementing a static type system Basic typing relations Adding context 2 / 15 Types and type errors Type: a set of
More informationSyllabus. Instructor: Alexander Clayborne, (301) ,
Syllabus George Mason University EDIT 530 Instructor: Alexander Clayborne, (301) 213-9109, Acedirect@multimediaace.com Text: "JavaScript Bible 4th Edition" by Danny Goodman, ISBN 0-7645-3342-8 Methodology:
More informationEight units must be completed and passed to be awarded the Diploma.
Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B
More informationA Brief Introduction to Scheme (II)
A Brief Introduction to Scheme (II) Philip W. L. Fong pwlfong@cs.uregina.ca Department of Computer Science University of Regina Regina, Saskatchewan, Canada Lists Scheme II p.1/29 Lists Aggregate data
More informationLocal defini1ons. Func1on mul1ples- of
Local defini1ons The func1ons and special forms we ve seen so far can be arbitrarily nested except define and check- expect. So far, defini.ons have to be made at the top level, outside any expression.
More informationNew Perspectives on Word 2016 Instructor s Manual 1 of 10
New Perspectives on Word 2016 Instructor s Manual 1 of 10 New Perspectives Microsoft Office 365 And Word 2016 Introductory 1st Edition Shaffer SOLUTIONS MANUAL Full download at: https://testbankreal.com/download/new-perspectives-microsoft-office-365-
More informationCS115 - Module 3 - Booleans, Conditionals, and Symbols
Fall 2017 Reminder: if you have not already, ensure you: Read How to Design Programs, sections 4-5 Booleans (Bool) , and = are new functions, each of which produces a boolean value (Bool). (< 4 6)
More informationObserver Templates. CS 5010 Program Design Paradigms Lesson 1.4
Observer Templates CS 5010 Program Design Paradigms Lesson 1.4 Mitchell Wand, 2012-2014 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. 1 Learning Objectives
More informationProgramming: Principles And Practice Using C++ (2nd Edition) By Bjarne Stroustrup
Programming: Principles And Practice Using C++ (2nd Edition) By Bjarne Stroustrup Programming: Principles and Practice Using C++ ( - Book "Programming: Principles and Practice Using C++ (2nd Edition)"
More informationAn Introduction to Functions
Chapter 4 An Introduction to Functions Through the agency of with, we have added identifiers and the ability to name expressions to the language. Much of the time, though, simply being able to name an
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 24 Thursday, April 19, 2018 1 Error-propagating semantics For the last few weeks, we have been studying type systems.
More informationExperience Report: Growing Programming Languages for Beginning Students
Experience Report: Growing Programming Languages for Beginning Students Marcus Crestani University of Tübingen crestani@informatik.uni-tuebingen.de Michael Sperber DeinProgramm sperber@deinprogramm.de
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College September 6, 2017 Outline Outline 1 Chapter 2: Data Abstraction Outline Chapter 2: Data Abstraction 1 Chapter 2: Data Abstraction
More information