Introduction to Software Development and Design

Slides:



Advertisements
Similar presentations
F27SB2 Software Development 2 Lecture 1: Introduction.
Advertisements

Video Game Design Lesson 1. Game Designer Person involved in the development of a video game Person involved in the development of a video game Usually.
Integrating Educational Technology into the Curriculum
Ying Wang EDN 303 Fall Objectives Define curriculum-specific learning Explain the difference between computer, information, and integration literacy.
1 Interactive Fiction CIS 487/587 Bruce R. Maxim UM-Dearborn.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Course: Introduction to Computers
GameMaker.  A lot of Different Definitions  Easier to Say What is NOT a Game  Movie is Not a Game  No Active Participation  Final Outcome is Fixed.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
CSCI 101 Introduction to Software Development and Design.
CSCI 101 Introduction to Software Development and Design.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
Chapter 1 Introduction to Computers
INTRODUCTION TO COMPUTING
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
I Robot.
Game Maker Terminology
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
ENGR-TS-2: The students will develop an understanding of how the design process is used to develop a technological system.
Motivates, interests and engages. Teaches problem solving skills. Allows for creativity and imagination. Demonstrates project design. Encourages teamwork.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
© 2014 International Technology and Engineering Educators Association STEM  Center for Teaching and Learning™ Game Art and Design Unit 2 Lesson 1 Skills.
CSCI 101 Rouda’s Sections.  Application Software  Microsoft Word  Photoshop  Business Software  Inventory and Shipping control  Financial Analysis.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Course Aims This course will help you understand the latest technologies & how they work. You will lean how to develop computer programs to solve problems.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Discovering Computers 2009 Chapter 1 Introduction to Computers.
Introduction to Programming and App Inventor. Introduction What is a computer program? Introducing App Inventor Getting hands on with App Inventor.
Scratch Programming Cards
Computers and Programming
Introduction to Scratch
Collision Theory and Logic
Development Environment
Software Development.
Nature & Types of Software
Games Programming in Scratch
Collision Theory and Logic
Game Engines By James Tedder.
Course: Introduction to Computers
Sphero CPD 9.30 – 11am Introduction to Sphero 11 – 11.15am
Introduction CSE 1310 – Introduction to Computers and Programming
Frequently asked questions about software engineering
Algorithm and Ambiguity
Introduction to Events
SPECIALIZED APPLICATION SOFTWARE
Objectives Overview Explain why computer literacy is vital to success in today's world Describe the five components of a computer Discuss the advantages.
Introduction to Problem Solving and Programming CS140: Introduction to Computing 1 8/19/13.
Chapter 1 - Introduction to Computers and the Internet
3D Game Pitch Niki Farquhar
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
Designing and Debugging Batch and Interactive COBOL Programs
UAL Level 2 GAMES AND ROBOTICS Design Document
Chapter 1 – Introduction to Computers
Game Art and Design Unit 2 Lesson 1 Skills in the Game Industry
Topics Introduction Hardware and Software How Computers Store Data
Introduction to computers
Algorithm and Ambiguity
ICT Gaming Lesson 1.
ICT Gaming Lesson 3.
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Basic Concepts of Algorithm
Presentation transcript:

Introduction to Software Development and Design CSCI 101 A lot of this stolen straight out of the Technology in Action book.

“When human beings acquired language, we learned not just how to listen but how to speak. When we gained literacy, we learned not just how to read but how to write. And as we move into an increasingly digital reality, we must learn not just how to use programs but how to make them.” Douglas Rushkoff

Learning Objectives Learn the step-by-step thinking that characterizes writing computer programs Learn the ideas behind programming techniques

Types of Software Application Software Business Software Microsoft Word, Photoshop Cell Phone Apps Business Software Inventory and Shipping control Financial Analysis Embedded Software Cell Phone OS, iPod car engine Games Most of the money goes into the business software category. But, more and more money is going into running new personal devices.

Creation of Software

Software Terminology Algorithm: Programming: Debugging: set of steps that describe what the program must do written in English Programming: turning an algorithm into an English-like language the computer can understand there are lots of programming languages also know as "coding" Debugging: Testing the software to find and remove errors This information is similar to what is in the book. The main idea is that software developers use a series of tools to turn their algorithm into a runable program.

How Programming Works Development Environment Algorithm Analyze the Problem and Design a Solution Programming Program Source Code Development Environment Software Translates the Source Code into Machine Code (1s and 0s)

Example: average a list Input: an unknown amount of positive numbers -1 to stop the list Output: the average Processing: read numbers until the user enters "-1" total up all the numbers print the average (total divided by count) stop

The Algorithm Information to Track: number that was input Prompt the user Get First number Is it -1 Yes Print total / count No add number to total add one to count Information to Track: number that was input count of numbers total of all numbers Get Next number

Loop to add up the sum and count the number of inputs The Source Code main () { integer: value, count, sum; print "Enter your numbers"; input value; while (value <> -1) sum = sum + value; count = count + 1; end while; print "Average = ", sum/count; } Ask the OS for memory Prompt User Get 1st number Loop to add up the sum and count the number of inputs Print the average

Testing the Program Test #1: Test #2: 25 35 30 -1 Average = 30 -1 input: 25 35 30 -1 output: Average = 30 result: test passed Test #2: input: -1 output: fatal error result: test failed tried to print 0/0

Specialties within Computer Science Web Application Design Networking and Computer Security Graphics Artificial Intelligence Database Analysis This is a sales pitch for computer science as a major. Watson, the Jeopardy playing supercomputer from IBM is a good example of AI

Software Industry in the U.S. Current Job Market? "software engineer" tops the Money Magazine Best Jobs list software development in U.S. is a $150Billion business Who hires CS graduates? Any company that owns a computer. How much do CS graduates make? starting salary = $45K to $58K average software engineer = $80K to $150K continuation of the sales pitch: there are LOTS of good paying CS jobs

Future Software Trends Continued Movement to the Web Delivering Services to Home and Mobile Entertainment, Banking, Information New Services e.g. Google Medical Handheld Devices multi-media / intelligent / interconnected Unknown integration of devices

Software Design with GameMaker

Game Design Development Concept Design Develop Publish Brainstorming Define purpose/goals Audience Idea Evaluation Write Storyline Write Scripts Conditions/Variables Schedule tasks Build/find sprites Build Objects Write Conditional statements Build Rooms TEST/Evaluate Write player instructions Write tips/cheat sheets Sell Make millions of $$$$

Game Concept GOAL - Games need to have a Goal for the player to work toward. CHALLENGE: needed to keep the game interesting and engaging for the player. Ex: increase difficulty as player progresses.

Game Design ROOMS - A digital game takes place in a virtual environment laid out in Rooms. There may be one or many rooms. This environment may be a castle, forest, racetrack, or underwater cave. ENHANCEMENT - Sounds and Backgrounds may be added to enhance the environment and gameplay experience.

Game Objects The player interacts with the game Objects (other characters, food, weapons, potions, cars, fuel, puzzle pieces, obstacles, currency, etc.) to attain this Goal. Object contains BOTH: GRAPHIC: An Object’s appearance is determined by the image or digital picture the developer assigns to it. The image is called a Sprite. BEHAVIOR: An Object’s behavior is determined by events and actions (Conditional Statements )

Game Objects: Events-Actions During gameplay, certain Events will happen and cause specific Actions to take place (Ex: If Player collides with enemy, then 1 Life is lost). Some objects react to player input (keyboard, mouse) and to other objects. Consider the relationships with real-world physics and how a computer must be told to demonstrate them on the screen.

Conditional Statements Cause and Affect in gaming is accomplished by CONDITIONAL STATEMENTS IF cause THEN effect In gaming, the “cause” is called an Event and the “effect” is called an Action. IF event THEN action

Mapping these concepts to Computer Science Theory

Object-Oriented Programming Each object has properties and behaviors encapsulated inside of it. This entire collection of properties and behaviors can be referenced through the object name properties Image – Sprite behaviors Creation Behavior – Start moving Collision Behavior – Bounce Left Mouse Behavior – Increase Score Bounce

Event Programming Building behaviors is an example of Event Programming Wait for some specific Event to happen Perform some action(s) in response to it.

Events for the Apple Object ACTION(S) Creation Start moving Collide with Wall Object Bounce Bounce Increase Score Left Mouse

Key Points The computer only knows as much as you tell it The game is created by defining a set of instructions or conditional statements for the computer to follow. Computer instructions must be clearly defined and appropriately sequenced, or an undesired outcome may result.

Fruit Snatcher Game Design Game Description Fruits move randomly around the room; bouncing off the wall When the left mouse clicks on the fruit, the score is increased by 5 and the fruit jumps to a new location Objects Apple Banana Cherry Bomb Wall

Game Design Assignment Development Team List team members (first and last official name) and expectations of how you will work together... Title: (1 pt) Determine the name of your game... Description (7 pts) Describe the game. State the purpose of the game, give a high level walkthrough in words of the characters, locations, tasks etc. that the player will encounter as they progress through the game, the method of winning or losing the game... Determine the Game Play (10 pts) Within the game, what goals should be accomplished? How does the player advance to the next level or acquire new skills in the game? What challenges will the player face when trying to accomplish these goals? Describe the mechanics of how the player actually plays the game; associate user controls with user actions (keyboard/gamepad controls). Room Map (5 pts) How many rooms are in the game? You should have at least two. How are rooms structured or ordered? Provide a map of the 'physical layout' of the game showing how different physical locations or rooms are ordered and/or connect to each other. Game Design Assignment Sounds (3 pts) What are the audio requirements of the game? Background music, alert sounds for particular events or actions, general background noise? If you don’t know what sounds you’ll use, tell how you will work on getting them. Backgrounds (3 pts) What backgrounds will you need? If you don’t know what backgrounds you’ll use, tell how you will work on getting them. Objects Needed (10 pts) What objects need to be defined? It may be useful to break the objects down into subcategories - player character, 'non- player characters' (e.g. 'monsters'), room objects (walls, doors), scoring/health objects (treasure, fuel pellets, first aid kits etc.), controller objects etc. Events/actions (5 pts) For each object, list the associated events. For each event list the associated actions. What rules does the game implement?