1 Presentation for Professor Sergiu Dascalu IGT: The Company and Its Products.

Slides:



Advertisements
Similar presentations
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.
Advertisements

IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
What is a Programming Language? The computer operates using binary numbers. The computer only knows about 1’s and 0’s. Humans can also use 1’s and 0’s,
Who is IGT? International Game Technology ( is a global company specializing in the design, development, manufacturing, distribution and sales.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
SM3121 Software Technology Mark Green School of Creative Media.
Introduction to Systems Analysis and Design
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
Introduction to Computer Technology
Computer System System Software. Learning Objective Students should understand the different types of systems software and their functions. Students should.
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
Computer Programming I Hour 1-Getting Started. Word of Day —Chinese proverb A journey of a thousand miles is started by taking the first step. —Aristophanes.
1 Using Classes Object-Oriented Programming Using C++ Second Edition 5.
Using Classes Object-Oriented Programming Using C++ Second Edition 5.
INFO415 Approaches to System Development: Part 2
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
So just what is the Sedona Framework? –The Framework is an embedded device programming and control environment with two major facets –Open Source Free.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
Lecture 8 Inheritance Richard Gesick. 2 OBJECTIVES How inheritance promotes software reusability. The concepts of base classes and derived classes. To.
1 ITSK 2611 Welcome. 2 Operating System 3 What is an OS Resource Manager –Disk –Memory –CPU Device Manager –Printers –Video Card –Sound Card Utility.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
University of Coimbra, DEI-CISUC
Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
® An Interactive Light company GDC ’99 1 Open Arcade Success Story and Case Study Joseph Deutsch President, Immersia Ltd. March.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Lecture 1 Introduction to Java MIT-AITI Ethiopia 2004.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Introduction To System Analysis and Design
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Grade 9 BTT - Hardware Notes. Prepared by: C. Novak - Ridgemont Hardware and Software Hardware is any part of the computer system you can see Software.
Chapter 5 Information Systems in Business Software
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Unit 22 People in Computing
An Introduction to Software Engineering (Chapter 1 from the textbook)
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
4000 Imaje 4020 – Software Imaje 4020 – Content ■ Content of Chapter Software: 1. Flash Up 2. Netcenter 3. FTP 4. Active X 5. XCL commands 6. Exercise.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Advanced Software Engineering Dr. Cheng
INTRO. To I.T Razan N. AlShihabi
Chapter 17 Looking “Under the Hood”
Software Configuration Management
Managing the Project Lifecycle
Introduction CSE 1310 – Introduction to Computers and Programming
Programming Languages
Lecture 22 Inheritance Richard Gesick.
Evolution of Microsoft Windows: 1985 ~ 2009
Introduction to Computer Systems
Review of Previous Lesson
Presentation transcript:

1 Presentation for Professor Sergiu Dascalu IGT: The Company and Its Products

Products Video Games (Video Slots, Video Pokers, Multigames) –Uses a touch screen Stepper Games (Physical Spinning Reels) –S/2000 (Traditional Spinning Reels) –Vision Games Stepper base PC with flat screen in the top box A (video) bonus game plays out on the PC screen Programmed in “C” Object-oriented features include class hierarchy and encapsulation

3 PC-Based Products - 1 First release to the field was earlier this year Has an ergonomic cabinet PC Technology is the adoption of Best of Breed Technologies Uses an industrial PC design that is not software proprietary, but custom industrial design with many common PC electronics

4 PC-Based Products - 2 Use the best proven software and hardware technologies –C++ –OpenGL for graphics –RTOS for performance –UNIX-like architecture –High speed networking (TCP\IP over Ethernet) –USB peripherals (Universal Serial Bus)

5 Coding Games - 1 Use coding techniques that avoid bugs (code assertions, reuse code that works) Use a library of object code files (files that are common to all games) Unique files for a game are made “local”, overriding the library copies of the same files

6 Coding Games is coded in “C”, but emulates object oriented features (class hierarchies, data hiding) IGT uses the GNU “C” compiler Game executable is built on a PC but run on an box

7 Coding Games - 3 For initial development and for debugging a finished game, a PC-based Borland version of a game can be created Better for stepping through code Better for debugging Better for watching variables

8 Coding Games - 4 GNU version is harder to work with (must use Printf() calls for debugging) The GNU version of a game is the only way to integrate graphics, sounds and peripherals All critical testing must be done on the real platform (power hits, bill/ticket acceptance, top box performance, graphics and sound play)

9 Coding Games – 5 Resources for IGT games consist of graphics, sounds, peripherals (mechanical resources) Peripherals include 1.Touch screen 2.Bill validator 3.Top box 4.Ticket printer The game programmer must integrate all of the above

10 For the Game Programmer - 1 First rule: your code must work, i.e., the game must play as designed (even if the design is only in someone’s mind) Game frequently changed, by the powers that be, both before and after release to the jurisdictions

11 For the Game Programmer – 2 Seeing is believing, when you are finished, your game will be played, critiqued and changes will be mandated by the Product Development Department Top-to-bottom rewrites of finished games are not uncommon –Programmer frustration may result

12 For the Game Programmer – 3 Your game must exist in a harsh environment 1.Static guns are used for electrical testing 2.Surviving a power hit is a basic requirement 3.Anti-cheating is a major design concern Before release to the jurisdictions, every game must pass all tests

13 Game Submission - 1 The Product Assurance and Electrical Engineering departments thoroughly test each game prior to release Any firmware problems (e.g., bill-stealing, credit loss, graphics problems, failed game play, crashing game) will be addressed before the game is submitted for jurisdictional approval

14 Game Submission – 2 When all issues have been resolved, a game is submitted to one or more jurisdictions Each jurisdiction can approve or deny sale of the game Denials can be based on local morality (i.e. certain themes not accepted) or technical reasons

15 Games in the Field After a game is approved in a jurisdiction, it can be sold there Field bugs, when discovered, are addressed quickly Updated programs, providing new features, are constantly being developed Sometimes firmware fixes are required to compensate for hardware issues

16 For Potential Engineers - 1 Firmware engineers must be intimately familiar with the C programming language Take as many hardware classes as you can (the microprocessor course is important) Learn to work with as many tools as you can –Oscilloscope –Network (protocol) analyzer

17 For Potential Engineers - 2 Try to get experience working with a large code base –the code base is about 1 million lines –most of the code you deal with will not have been written by you –you are expected to be able to maintain and extend it

18 For Potential Engineers - 2 While you are in school, take as many computer classes in each of the following subjects as you are able to: –Communications (especially serial) –C/C++ programming –Microprocessors (as much as you can take) –Software Development

19 IGT Contacts IGT.COM IGT Human Resources –