CSCI 101 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.
1 Interactive Fiction CIS 487/587 Bruce R. Maxim UM-Dearborn.
Chapter 1 - An Introduction to Computers and Problem Solving
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
©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.
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Course: Introduction to Computers
Chapter 1 Pseudocode & Flowcharts
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.
Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make sure you are on the Athenry Parents/Kids.
CSCI 101 Introduction to Software Development and Design.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Key Abstractions in Game Maker Foundations of Interactive Game Design Prof. Jim Whitehead.
CS451 Computer Graphics JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY.
INTRODUCTION TO COMPUTING
CATCH SCRATCH! Programming from Scratch. Remember Scratch?
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Developing Software MGMT Summer 2012 Night #8.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
An Introduction to Programming with C++ Sixth Edition
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
My Scratch Story Exploring Computer Science Lesson 4-7.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
CPS120 Introduction to Computer Programming The Programming Process.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
Basic of Programming Language Skill Area Computer System Computer Program Programming Language Programmer Translators.
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
I Robot.
Game Maker Terminology
Fish Chomp. The screen where you can see what happens when you play your game is called the STAGE. The SCRIPT BANK is where the types of instructions.
1 Program Planning and Design Important stages before actual program is written.
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.
CS2301:Computer Programming 2
Structured Programming (4 Credits)
CHAPTER 14 Classes, Objects, and Games XNA Game Studio 4.0.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Today we are learning to: Understand how actions and events control our game. Completing the catch the clown game – making a room – adding music Gather.
Today we are learning to: Understand how flow charts are used to design games Add events to our objects to control stuff in our game – (Using the user.
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. 
Game Development Process ITP 160 Original Game Assignments.
Today's Ninja Challenge: Write Your First Computer Game!
GAME:IT Junior Paddle Ball Objectives: Review skills from Introduction Create a background Add simple object control (up and down) Add how to create a.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Introduction to Programming and App Inventor. Introduction What is a computer program? Introducing App Inventor Getting hands on with App Inventor.
Introduction to Scratch
Collision Theory and Logic
Coding Workshop Patty Hicks Still Middle School
Collision Theory and Logic
Course: Introduction to Computers
Introduction CSE 1310 – Introduction to Computers and Programming
An Introduction to Computers and Visual Basic
Algorithm and Ambiguity
Introduction to Software Development and Design
Game Art and Design Unit 2 Lesson 1 Skills in the Game Industry
Algorithm and Ambiguity
An Introduction to Computers and Visual Basic
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Transparency & magic pixel
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Basic Concepts of Algorithm
Presentation transcript:

CSCI 101 Introduction to Software Development and Design

 HTML Extra Credit Assignment

 “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

 Learn the step-by-step thinking that characterizes writing computer programs  Learn terminology and ideas behind software development and design

 Application Software  Microsoft Word, Photoshop  Cell Phone Apps  Business Software  Inventory and Shipping control  Financial Analysis  Embedded Software  Cell Phone OS, iPod  car engine  Games

 Algorithm: ◦ 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

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

 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

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

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

 Test #1: ◦ input: ◦ output: Average = 30 ◦ result: test passed  Test #2: ◦ input: ◦ output: fatal error ◦ result: test failed tried to print 0/0

 Web Application Design  Networking and Computer Security  Graphics  Artificial Intelligence  Database Analysis Watson, the Jeopardy playing supercomputer from IBM is a good example of AI

 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

 Continued Movement to the Web  Entertainment, Banking, Information  Handheld Devices  multi-media / intelligent / interconnected  Unknown  integration of devices

Software Design with GameMaker

  Write Storyline  Schedule tasks Brainstorm Define purpose/goals Design Build/find sprites Build Objects Write Conditionals Build Rooms TEST often/Evaluate DevelopPublish Write player instructions Sell Make $$$$ 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.

 ROOMS – Determine your rooms. This environment may be a maze, castle, forest, racetrack, or underwater cave.  ENHANCEMENT – Use Sounds and Backgrounds to enhance the environment and gameplay experience.

 Objects allow the player to attain the Goal. ◦ GRAPHIC: The appearance is called a Sprite. ◦ BEHAVIOR: Determined by events and actions (Conditional Statements )  Events trigger specific Actions (Ex: If Player collides with enemy, then lose 1 life).

 Conditionals: Events trigger specific Actions (Ex: If Player collides with enemy, then 1 Life is lost).

 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

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

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

Creation Collide with Wall Object Left Mouse EVENTSACTION(S) Start moving Bounce Increase Score

 The computer knows & does only what 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 completely defined and appropriately sequenced, or an undesired outcome may result.

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

Development Team (3 pt) List team members present (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, tell how you win or lose the game… Determine the Game Play (10 pts) 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). Within the game, what goals should be accomplished? Room Map (Description) (5 pts) How many rooms are in the game? You should have at least one for each team member. How are rooms structured or ordered? Provide a description of the 'physical layout' of the game telling how different physical locations or rooms are ordered and/or connected to each other. 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) List the objects that 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 (8 pts) For each object, list the associated events. For each event list the associated actions. What rules does the game implement?  Ex: Object ball Event1: Create – start moving up and down  Event2: Left Mouse button – jump to a random location; add 5 to the score Game Design Assignment