Game Programming and Scratch (Lecture 1) Game Programming and Design Brooklyn College Bridges To Computing.

Slides:



Advertisements
Similar presentations
30 min Scratch July min intro to Scratch A Quick-and-Dirty approach Leaving lots of exploration for the future. (5 hour lesson plan available)
Advertisements

Processing Lecture. 1 What is processing?
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Scratch Keith Patton Computer Literacy Teacher West Chester Area School District.
Introduction to Scratch UC Santa Cruz CMPS 10 – Introduction to Computer Science 13 May 2011.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
(An Introduction for Programmers)
Game Programming Using Scratch. Scratch Scratch is an IDE (Integrated Development Environment) that allows users to create and run simple graphics/games.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
What is Scratch? Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
C++ Crash Course Class 1 What is programming?. What’s this course about? Goal: Be able to design, write and run simple programs in C++ on a UNIX machine.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
COM 205 Multimedia Applications
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Comparing Python and Visual Basic
GAME DESIGN IN CONJUNCTION WITH UNION UNIVERSITY COMPUTER SCIENCE DEPARTMENT By Jacob Lynn and Hananiah Nyabam.
Scratch the Cat. Object Oriented Programing Writing computer programs Based on Objects Instead of Actions Based on Data Instead of Logic.
Chapter Introduction to Computers and Programming 1.
 3D graphics environment  Focuses on Object Oriented Programming  Provides immediate feedback through program visualizations  Contains a drag-and-drop.
INTRODUCTION TO THE SCRATCH PROGRAMMING ENVIRONMENT.
Language Basics.
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
A First Program Using C#
Binary There are only 10 types of people in the world, those who understand binary and those who don't.
There are only 10 types of people in the world, those who understand binary and those who don't.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Foundation Programming Introduction. Aims This course aims to give students a basic understanding of computer programming. On completing this course students.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
CSC1401: Introductory Programming Steve Cooper
111 © 2002, Cisco Systems, Inc. All rights reserved.
Week 1 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Computer Concepts 2014 Chapter 12 Computer Programming.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Chapter 12 Computer Programming. Chapter Contents Chapter 12: Computer Programming 2  Section A: Programming Basics  Section B: Procedural Programming.
Introduction to Programming G50PRO University of Nottingham Unit 2 : Introduction To Scratch Paul Tennent
Summer Computing Workshop.  This workshop is designed to introduce basic programming concepts through the use of the highly intuitive programming environments.
Nic Shulver – Scratch – what, why and how? Click to edit Master text styles Second level Third level Fourth level Fifth level.
29-Nov-15 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
Game Programming Using Scratch Brooklyn College Bridges To Computing (2009) M. Meyer, J. Rodney.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
My Mission Statement To ensure students leave the course with an intermediate knowledge of general programming skills they can transfer to other platforms.
G RAPHICS & I NTERACTIVE P ROGRAMMING Lecture 2 More Programming with Processing.
Introduction to Programming Using Scratch Brooklyn College Bridges To Computing (2009) M. Meyer.
Today's Ninja Challenge: Write Your First Computer Game!
ICT/COMPUTING RULES Only use software allowed by the teacher
Introducing Scratch Learning resources for the implementation of the scenario
Introduction to Programming and App Inventor. Introduction What is a computer program? Introducing App Inventor Getting hands on with App Inventor.
Introduction to Scratch
Development Environment
What is it?! •Scratch is a programming language that allows you to create interactive stories, music, animations, art, games, and more!
Scratch Unit Overview We are going to look at computer programming and how to create your very own computer game The piece of software we will be using.
Event-driven programming
Introduction to Programming Using Scratch
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Computer Programming.
Introduction to Object-Oriented Programming
Social Media And Global Computing Introduction to Visual Studio
Concepts From Alice Switching to Java Copyright © Curt Hill.
Learn… Create… Program
Language Basics.
Scratch Programming Brian Cain.
Learn… Create… Program
MICCA SCRATCH Workshop
ICT Gaming Lesson 2.
Learn… Create… Program
Learn… Create… Program
Problem Solving and Computer Programming
Presentation transcript:

Game Programming and Scratch (Lecture 1) Game Programming and Design Brooklyn College Bridges To Computing

I.We want your undivided attention. II.We want you to have some fun. III.We want you to learn some basic information about programming and programming languages. IV.We want to give you the skills to create your own computer games. Welcome

Questions: 1.What is a language? 2.What is a program? 3.What is a programming language and how do they work? 4.What is an IDE (integrated development environment)? 5.What makes a game fun? 6.What skills do you need to have to create a computer game?

Programming Languages I.Allow us to "talk" to a computer, in a language that we can understand. I.Computers only understand binary (0,1). II.Modern (high-level) languages allow us to write code in a way that we understand. II.Require a well-defined syntax and semantics: I.Syntax -> Refers to the rules of grammar, word order and punctuation that must be used. A "syntax error" is usually a punctuation error. II.Semantics -> Refers to the meaning of words that are included in a language. Some words have set meanings, others can be changed (variable mouseX).

Programming Languages III.Allow us reuse and share code. I.No need to create code to handle mouse input if someone has already created a function to do that. II.A library is a collection of functions and variables that can be reused when creating a new program. IV.Fall into different paradigms (types): I.Functional, Logical, Imperative, Procedural and Object-Oriented approaches to programming. II.If you already know one language of a particular type it's easier to learn other languages of that same type. Note: This is true for spoken languages as well. If you know Spanish it's easier to learn French, Portuguese or Italian. All these languages use similar vocabularies (semantics) and almost the same grammar (syntax).

Scratch Scratch is an IDE (Integrated Development Environment) application. An IDE is a program that allows users to create, run and debug other programs. Users create programs in Scratch using an imperative, procedural, object-oriented programming language that has very simple syntax*. * Don't worry, all of these terms will be made clear to you.

Let's take a break, and play some games in Scratch. Your instructor will show you how to: 1.Start Scratch 2.Load a program 3.Start and Stop a program 4.Find specific parts of the Scratch interface (a picture of the interface is included on the next slide)

Scratch Interface

Why use Scratch? 1.Scratch is FREE! 2.Simple development environment. 3.Simple syntax. 4.Large library of functions. 5.Can be used to teach basics of programming in 3 important paradigms. 6.Can be used to create ANY simple computer game.

1. Scratch is FREE Scratch is developed by the Lifelong Kindergarten group at the MIT Media Lab, with financial support from the National Science Foundation, Microsoft, Intel Foundation, Nokia, and MIT Media Lab research consortia. Scratch is free software and will run on Windows, Mac and Linux machines. You can download Scratch here: The Scratch website has many helpful tutorials as well as a forum for asking questions and getting help.

2. Simple Development 1.Scratch requires very little typing in order to create programs. 2.Visual code creation using drag and drop.

3. Simplified Syntax 1.No missing semi-colon problems. 2.Code blocks can only fit together in pre-defined way.

4. Large library. 1.Over 100 predefined functions and limited ability to make more. 2.Functions cover vast majority of things that you would want a sprite (object) to be able to do in a game.

5. Basics of Programming Just like spoken languages programming languages can be categorized into certain types (or paradigms). 3 of the most popular programming paradigms are: A.Imperative -> A 'smart' list. B.Procedural -> Making phone calls. C.Object Oriented -> Programming with objects.

A. Imperative Programming "a smart list" 1.The imperative paradigm is like giving the computer a list, which tells it step- by-step what to do. 2.To be "smart" your list needs 3 things: i.Sequence -> A predefined order in which to process information. (English vs. Hebrew) ii.Selection -> The ability to make a choice. The "IF" statement. iii.Repetition -> The ability to repeat an action. The "WHILE" statement.

i. Sequence All "scripts" processed from top down. 4 possible start conditions, 3 end.

ii. Selection If, If-else and wait_until functions.

iii. Repetition Variety of functions including repeat_until.

B. Procedural Programming "making phone calls" The procedural programming paradigm is based upon the concept of the “procedure call”: the ability to “send a message” to another section of a program. Procedural programming allows us to create sections of code that can be reused over and over.

Broadcast Scratch allows users to send "broadcasts" which can activate other scripts who are listening for a particular broadcast.

C. Object-Oriented 1.OO programming is an extremely important programming paradigm. 2.Scratch is not true OO programming, but good example of basic concepts: Creating programs that are composed of interacting objects. These objects have associated properties and functions.

Object-Oriented (cont) 3.Objects in Scratch are called "Sprites". 4.Properties of Sprites include: Location Look User defined properties (variables). 5.Functions of Sprites include: Move Make Sound Detect Collision

Sprites Found in the lower right corner of the screen. Click on them to select them and change contents of main window.

6. Create ANY simple game. At this time Scratch does not support Vector Graphics, Multi-threading, and library creation. Despite these restrictions it is still possible to create some very interesting and exciting applications/games with Scratch. ANY simple arcade game or older console game can be recreated in Scratch. Many simple browser-based games (Flash) can also be emulated with Scratch.

Example Games

More example games Within Scratch checkout: Projects/Games/BugsOnAPlate Projects/Games/MarbleRacer Note: With an account you can post your own games and projects on the Scratch website Here you will find a host of tutorials, as well as templates to help you create games in several common genres.

Are you an Artist? (not necessarily a 'gamer') Using Sketch you can develop, movies, animations and visual storyboards. What's your story? Who are the characters? What's the conflict? What do you want your audience to feel? What objects would you need to create? What would their properties/functions be?

Artists Checkout: /Projects/Animation DayDream /Projects/Stories/ Stargate /Projects/SpeakUp AgainstSpammers

The End