Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.

Slides:



Advertisements
Similar presentations
Creating Interactive Games Your trainer today is: Luke Milner Derbyshire County Council Children and Younger Adults Department.
Advertisements

Game Programming and Scratch (Lecture 1) Game Programming and Design Brooklyn College Bridges To Computing.
Introduction to Scratch UC Santa Cruz CMPS 10 – Introduction to Computer Science 13 May 2011.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap.
Mechanics, Dynamics & Aesthetics The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object.
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.
The Internet & The World Wide Web Notes
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
COM 205 Multimedia Applications
Comparing Python and Visual Basic
The App Store is a type of digital distribution platform for application software. Often provided as a component on a personal Mac computer, iPhone, iPad,
CS102 Introduction to Computer Programming
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.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
INTRODUCTION TO THE SCRATCH PROGRAMMING ENVIRONMENT.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
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.
Build a Free Website1 Build A Website For Free 2 ND Edition By Mark Bell.
Foundation Programming Introduction. Aims This course aims to give students a basic understanding of computer programming. On completing this course students.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
® Copyright 2008 Adobe Systems Incorporated. All rights reserved. ® ® 1 INTRODUCTION TO ADOBE FLASH CS3.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. This work is licensed under the Creative.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
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.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
Nic Shulver – Scratch – what, why and how? Click to edit Master text styles Second level Third level Fourth level Fifth level.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Game Programming Using Scratch Brooklyn College Bridges To Computing (2009) M. Meyer, J. Rodney.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
My Mission Statement To ensure students leave the course with an intermediate knowledge of general programming skills they can transfer to other platforms.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
Introduction to Programming Using Scratch Brooklyn College Bridges To Computing (2009) M. Meyer.
Unit 1 Introduction to Evangel College S.2 ICT.
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited.
SCRATCH ScratchScratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share.
Today's Ninja Challenge: Write Your First Computer Game!
1 CSC 221: Computer Programming I Fall 2009 Introduction to programming in Scratch  animation sprites  motion, control & sensing  costume changes 
Introduction to Game Programming & Design III Lecture III.
Introduction to the course Aug 30, Day 1 Object-oriented Programming thru Video Games TIDE 1840 Harry Howard Tulane University.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Introducing Scratch Learning resources for the implementation of the scenario
Introduction to Scratch
What is it?! •Scratch is a programming language that allows you to create interactive stories, music, animations, art, games, and more!
Introduction to Programming Using Scratch
Computer Programming.
Introduction to Object-Oriented Programming
Learn… Create… Program
Learn… Create… Program
Mechanics, Dynamics & Aesthetics
MICCA SCRATCH Workshop
Learn… Create… Program
Learn… Create… Program
CSC 221: Introduction to Programming Fall 2018
Problem Solving and Computer Programming
Presentation transcript:

Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited and encouraged to use this presentation to promote computer science education in the U.S. and around the world. For more information about the Bridges Program, please visit our website at: Disclaimers: All images in this presentation were created by our Bridges to Computing staff or were found online through open access media sites and are used under the Creative Commons Attribution-Share Alike 3.0 License. If you believe an image in this presentation is in fact copyrighted material, never intended for creative commons use, please contact us at so that we can remove it from this presentation. This document may include links to sites and documents outside of the "Bridges to Computing" domain. The Bridges Program cannot be held responsible for the content of 3 rd party sources and sites.

Introduction to Game Programming & Design Lecture 1: Video Games and Scratch

Game Unit Questions 1. What defines a computer/video game. 2. What do you need to know to make a computer/video game? 3. What make a game fun? 4. What problems are common to video games? 5. What problems are unique to video games?

Content 1. The Complexity of Games 2. Multimedia and Games 3. Programming Languages Review 4. Scratch

The Complexity of Games Video games are very complex programs. Even a simple FLASH based web game requires a very high level of programming knowledge; may also require expertise in: ◦ Imperative, Procedural, OO, Reflective Programming Paradigms ◦ Network Protocols ◦ Data retrieval and management techniques ◦ Graphic & Sound creation/management ◦ Geometry, Trigonometry and Calculus ◦ Vector mathematics ◦ 3D mathematics

Multimedia and Games Games are THE quintessential example of multimedia programs: ◦ Input to the game can be text, audio, video, 2D and/or 3D constructs as well as analog and digital controller information. ◦ Output can be in any of those same but MOST video games are interactive graphics based games. ◦ THUS everything we have covered in previous units applies to games as well (especially interface design).

Programming Languages Review 1. What is a language? 2. What are syntax and semantics? 3. What is an IDE (integrated development environment)? 4. What is a paradigm? 5. How does the Imperative Paradigm work?

Programming Languages Programming Languages: ◦ Allow us to "talk" to a computer, in a language that we can understand - computers only understand binary (0,1). ◦ All languages (to be useful) require a well-defined syntax and semantics: Syntax -> Refers to the rules of grammar, word order and punctuation that must be used. A "syntax error" is usually a punctuation error. 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 Allow us reuse and share code. ◦ We can reuse other programmers functions ◦ A library is a collection of functions and variables that can be Fall into different paradigms: ◦ Paradigm is a structured approach to solving a problem. ◦ If you already know one language that uses a particular paradigm it's easier to learn other languages of that same type.

Introduction to SCRATCH Scratch is an IDE (Integrated Development Environment) application. ◦ An IDE is a program that allows users to write, run and debug other programs. Users create programs in Scratch using an imperative, procedural, object-oriented programming language. * SCRATCH is a visual programming language that uses a 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: ◦ Start Scratch & Load a program ◦ Start and Stop a program ◦ Find specific parts of the Scratch interface (a picture of the interface is on the next slide). ◦ Example Program: odules/P3_GameProgDesign/OtherMaterials/E xampleGames/Ex_SimpleMissileCommand.sb odules/P3_GameProgDesign/OtherMaterials/E xampleGames/Ex_SimpleMissileCommand.sb

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 Scratch requires very little typing in order to create programs. Visual Programming (code creation) using drag and drop.

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

4. Large library of functions Over 100 predefined functions and limited ability to make more. Functions cover vast majority of things that you would want a sprite (object) to be able to do in a game. Many of these functions simplify complex mathematical problems like object-overlap detection and response.

5. Basics of Programming Just like spoken languages programming languages can be categorized into certain types (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" ) The imperative paradigm is like giving the computer a list, which tells it step-by-step what to do. 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" are processed from top down. 4 possible start blocks (ways to start a script), and 3 end blocks.

ii. Selection Selection means the ability to make a choice ◦ Specifically, perform different actions, based on some condition. SCRATCH supports the If, If-else and wait_until functions.

iii. Repetition Repetition means "looping" doing things over and over (again, possibly only while a certain condition is true). SCRATCH supports a variety of looping 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.

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

C. Object-Oriented OO programming is an extremely important programming paradigm. Scratch is not true OO programming, but good example of basic concepts: ◦ Creating programs that are composed of INTERACTING OBJECTS. ◦ These objects have associated FACTS (properties) and FUNCTIONS (methods).

Object-Oriented (cont) Objects in Scratch are called "Sprites". Properties of Sprites include: ◦ Location (x, y) ◦ Look (costume) ◦ User defined properties (variables). Functions of Sprites include: ◦ Move (go to x, y ) ◦ Make Sound (play sound) ◦ Detect Collision (is touching)

Sprites Found in the lower right corner of the IDE screen. Can create using templates (with pictures) or draw your own. Once a sprite is created you must click on it to select it, THEN you can change its behavior by using the tabs in the main display window.

Sprites (cont) A SCRATCH game will consist of multiple sprites. ◦ NOTE: The STAGE (the display window) is considered to be a special type of sprite. Each sprite will have its own scripts which will tell it what to do. ◦ Example: All sprites will have a "green flag" script which will tell it what to do at the start of the game. Sprites can "communicate" by making "broadcasts" which can make other scripts run on other sprites.

6. Create ANY simple game. At this time Scratch does not support Vector Graphics, Multi-threading, and user 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 (cont) Checkout: /Projects/AnimationDayDream /Projects/Stories/Stargate /Projects/SpeakUpAgainstSpammers

The End