Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 101 Introduction to Software Development and Design.

Similar presentations


Presentation on theme: "CSCI 101 Introduction to Software Development and Design."— Presentation transcript:

1 CSCI 101 Introduction to Software Development and Design

2  HTML Extra Credit Assignment

3  “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 http://www.huffingtonpost.com/douglas-rushkoff/programming-literacy_b_745126.html

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

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

6

7  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

8 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)

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

10 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

11 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

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

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

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

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

16 Software Design with GameMaker

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

18  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.

19  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.

20  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).

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

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

23 Mapping these concepts to Computer Science Theory

24 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

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

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

27  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.

28 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

29 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


Download ppt "CSCI 101 Introduction to Software Development and Design."

Similar presentations


Ads by Google