Download presentation
Presentation is loading. Please wait.
Published byMartin Evan Page Modified over 6 years ago
1
Introduction to Software Development and Design
CSCI 101 A lot of this stolen straight out of the Technology in Action book.
2
“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
3
Learning Objectives Learn the step-by-step thinking that characterizes writing computer programs Learn the ideas behind programming techniques
4
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.
5
Creation of Software
6
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.
7
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)
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
Software Design with GameMaker
16
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 $$$$
17
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.
18
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.
19
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 )
20
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.
21
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
22
Mapping these concepts to Computer Science Theory
23
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
24
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.
25
Events for the Apple Object
ACTION(S) Creation Start moving Collide with Wall Object Bounce Bounce Increase Score Left Mouse
26
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.
27
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
28
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.