OPERATING SYSTEMS, PROGRAMMING LANGUAGES, AND GAME ENGINES

Similar documents
Computer Literacy. Hardware & Software Classification

Lesson 06: Basics of Software Development (W02D2

SOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J A N D O B J 3-2)

Generate Android App

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

lesson 1 An Overview of the Computer System

Discovering Computers

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Basic Concepts of Information Technology (IT)

1 PERSONAL COMPUTERS

Additional details >>> HERE <<<

Etanova Enterprise Solutions

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Chapter 8 Types of Utility Programs and Operating Systems. Discovering Computers Your Interactive Guide to the Digital World

Chapter 5 Busses, Ports and Connecting Peripherals

OCR LEVEL 2 CAMBRIDGE TECHNICAL

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

Computer Layers. Hardware BOOT. Operating System. Applications

Full version is >>> HERE <<<

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

Cambridge International AS and A Level Computer Science

Mobile web apps: The best option for business? A whitepaper from mrc

UPDATED WeDo 2.0 SOFTWARE FAQ:

OPERATING SYSTEM SERVICES

Finding Your MAC (Ethernet) Address All Device Types

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

Florida Department of Education TECHNOLOGY GUIDELINES

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering

Issues in Android on Mobile Platform and Their Resolution

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

More details >>> HERE <<<

More information >>> HERE <<<

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Fundamentals of Computer Science (FCPS) CTY Course Syllabus

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Introduction to ios Testing

Operating System Software

Chapter 1. The largest computers, used mainly for research, are called a. microcomputers. b. maxicomputers. c. supercomputers. d. mainframe computers.

C# and Other Languages

All About Android WHAT IS ANDROID?

Android vs ios Throwdown. Cheryl Sedota Peter Schnabel

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

Chapter 8 Operating Systems and Utility Programs

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Computer Basics: Chapters 1 & 2

About Parallels Desktop 10 for Mac

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

The computer's internal components

GENERAL TRAINING ACCOUNTS

A Comparison of Programming Languages for Graphical User Interface Programming

Mobile Accessibility. Jan Richards Project Manager Inclusive Design Research Centre OCAD University

SNAPPIN.IO. FWR is a Hardware & Software Factory, which designs and develops digital platforms.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Native v HTML5 An Event Planner s Primer

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

Browser Testing Framework for LHG

Period: 50 Hours of Code. Topic: Python Programming Mobile App Development Electronics and Robotics Web Development Game Programming Computer Security

Desktop Virtualization. The back-end

Effective Java Programming. efficient software development

Module 1 Introduction to Information and Communication Technologies

E21 Mobile Users Guide

Getting Started with VMware Fusion. VMware Fusion for Mac OS X

Windows Basics. Developed by: D. Cook

Full version is >>> HERE <<<

Introduction to Computers, Anatomy of Computers, Input and Output Devices

OSAS version 8 A foundation for the future

Tablets in Data Acquisition

QML and JavaScript for Native App Development

Outline: Operating Systems

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

K Hinds Page No. 1. Lecture 3 ASCII

Choosing a Mobile Application Development Approach

PC Build and Manual Part 1

INSTALLING MALTED 3.0 IN LINUX MALTED: INSTALLING THE SYSTEM IN LINUX. Installing Malted 3.0 in LINUX

Communications Cloud Product Enhancements February 2016

DIVISION OF INFORMATION TECHNOLOGY ENTERPRISE ARCHITECTURE. Mobile by Design. Version 1.0 October Page 1 v1.0

Faronics Products SYSTEM REQUIREMENTS Last modified: October 2014

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

SeeTec ExpansionPackage

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Commonwealth Consumer Affairs Advisory Council

Chapter 4. Operating Systems and File Management

What is Android? originally purchased from Android, Inc. in 2005

About Parallels Desktop 7 for Mac

Full version is >>> HERE <<<

Lecture 2: Computer Hardware and Ports.

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Discovering new features in HTML5 Offline applications

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Developing and deploying mobile apps

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

System requirements for Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. All rights reserved.

Full version is >>> HERE <<<

COMSC 101 Virtual Dream Computer Project

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

Windows 7 for beginners

Introduction to Mobile apps for the Non-Programmer. Elizabeth Jean Brumfield, MLIS, CAS, ABD

Working with Windows Movie Maker

Transcription:

OPERATING SYSTEMS, PROGRAMMING LANGUAGES, AND GAME ENGINES

In this lesson you will learn about Operating Systems, various programming languages, game engines, and more specifically the Construct 2 game engine.

Learning Objectives Before you start, here are the topics you will learn about. Operating Systems Computer Hardware Programming Languages Game Engines

Objective 1 - Operating Systems Your computer, phone, and tablet devices are all running an operating system. An operating system (OS) is the software that runs a computers most basic functions. Examples of operating systems on computers are Windows, Mac OS X, and Ubuntu (a Linux distribution). Mobile/Tablet operating systems include Android, and IOS. These are just a few examples, but there are many more.

Although there are many types of operating systems, the basic purpose of any operating system is the same. To help the computer or device to run different types of software and allow this software to interact with the computer or device.

Think of using the Instagram App on an iphone. The app allows a person to take a picture, however the IOS operating system allows the Instagram app to use the camera on the device. Without operating systems none of your computers or devices would be usable! On top of this, none of the games you play would be possible. The biggest differences between operating systems are the GUI (graphical user interface) and the software applications that can be run on the operating system.

Different types of operating systems can run different software. This is why a program for a Mac computer typically will not work on a Windows operating system. The same is true for an IOS and Android application. An Android application will not run on an iphone. Going back to the Instagram example, this means Instagram had to create an app for Android and IOS.

Objective 2 - Computer Hardware Since it's the operating systems job to interact with the hardware on the device, you will need to learn a little about various types of hardware to understand how it works. You will start by exploring various hardware components of desktop and laptop computers. Most of these are also used on phone or tablet devices (although they are much smaller of course).

Motherboard The Motherboard provides the communication paths for the computer or device. It's a printed circuit board that contains connectors for the other types of hardware devices listed in this lesson. Arrow over to see image of a Motherboard and it's components.

Attribution: Moxfyre at en.wikipedia

RAM (Random Access Memory) The RAM provides the primary memory of your computer. You may have heard that more RAM makes your computer faster. This is because a computer with more RAM can run more programs at the same time. The RAM on your computer is lost every time you restart.

CPU (Central Processing Unit) The CPU is kind of like the brain of the computer. It carries out the instructions and calculations of computer programs. The faster your CPU the faster your computer can run computer programs. This is true because a faster CPU can process computer operations more quickly. Photograph Andrew Dunn, 9 November 2005. Website: http://www.andrewdunnphoto.com/

Peripherals Computers have many additional peripheral hardware or devices. These devices are not necessarily integral parts of the computer, but can be very important in order to get the computer to operate the way you are used to. A few examples of peripherals are graphics cards, computer monitors, keyboards, mouse, and hard drives.

Hard Drive Computers typically have a hard drive for more permanent storage. These storage devices are called secondary memory and generally provide much more storage than RAM. Unlike RAM which loses it's data when the computer is restarted, Hard Drives retain their data when the computer is shut off or restarted.

Graphics Card A Graphics or video card is a hardware expansion card that is used to generate the display of the computer on a computer monitor (or other display device). Some motherboards have an integrated graphics card built in. If the motherboard has an integrated graphics card, an expansion video card is not required but can still be used for better graphics performance. Having an expansion video card can be required for more graphically complex 3D computer games.

Quiz Time Which of the following IS NOT a computer peripheral device?

Quiz Time (Answer) Which of the following IS NOT a computer peripheral device?

Objective 3 - Programming Languages Any software or computer program written for a computer or mobile application is written using some type of programming language. A programming language is an artificial language that the computer can understand that controls the behavior of the computer or device.

Compiled or Interpreted Programming languages are either compiled or interpreted.

Compiled Programming Language A compiled programming language requires that the code of the program runs through a compiling process that optimizes the code for a specific type of machine or operating system. For instance, when building an Android application, a developer will need to compile their code for Android devices. This compiled code will not work on an iphone.

Interpreted Programming Language An interpreted programming language is not built for a specific type of machine or operating system. Instead there is a software program that runs on the machine that can read the computer program or code. In this case the code can be read directly without the need for a compile process to run.

Compiled vs. Interpreted Languages Both compiled and interpreted languages can perform the same functions. Compiled programs are often slightly faster because they are built directly for the machine to run, interpreted programs are often said to be easier to implement because there is no need for a compile process.

Does it Really Matter? Due to changes and improvements in technology, the differences between compiled and interpreted languages are not as drastic as they used to be. In general, developers choose the language best for the task without as much thought as to whether the language is a compiled or interpreted language.

What Type of Language is it? A programming language uses variables to allow a programmer to store data while the program is running. Some programming languages require that the type of this variable is specifically declared when the variable is created. A variable could be a number variable, a string (text) variable, or store many other types of data. These programming languages are called strongly typed languages.

How Strong is your Type? Other programming languages may have only a single type, which allows all variables to be stored as a single-type of variable. There are also some programming languages that are un-typed and treat all data the same way.

How is this Used? Most modern programming languages used by programmers are considered typed languages. This means they have different variable types available to them. There are different variations on if a language is strongly or loosely typed. If a programming language is strongly typed it is more strict with how variables are declared and used than a loosely typed programming language.

Enough about the technical details, what are some of these languages? Some popular programming languages are C, Java, PHP, JavaScript, C++, Python, Objective C, C#, and Ruby. Different programming languages are popular for different purposes and may have different uses. You will now take a quick look at C++, Java, PHP, and JavaScript.

C++ C++ is a compiled and general purpose programming language that is used in many applications including game development. Some popular games built with C++ code include StarCraft, World of WarCraft, and most major console games.

JAVA Java is another general purpose programming language that is typically compiled an can run on any platform using a JVM (Java Virtual Machine). Java is a very popular programming language for software applications but not as popular for building games. There are a few popular games such as Runescape and Minecraft that use Java.

PHP PHP is an interpreted programming language designed for website development. PHP is one of the most popular programming languages for building websites. Because PHP is typically used for building websites, it is typically not used to develop games.

JavaScript JavaScript is an interpreted programming language that runs on most web browsers. JavaScript is often used for animations on websites or web based games. Games that are built for HTML5 (meaning they run on modern web browsers), use JavaScript for much of their code and functionality.

Objective 4 - Game Engines A game engine provides an easier way to build games without having to write every line of code yourself. A game engine is a software framework that makes the game development process faster. A software framework simplifies the development process and provides helpful time saving features. There are software frameworks for building websites, financial applications, building games, and more.

Examples of Game Engines There are hundreds of popular game engines, but you will explore Construct 2, Unity, Unreal Engine 4, and Game Maker Studio.

Construct 2 Construct 2 is the Game Engine that will be used throughout the rest of this course. Construct allows you to easily build 2D games and export them to HTML5 format. This allows the games you build to easily be embedded in websites or online arcades. The game engine also provides options for exporting your games to mobile apps (license key is required).

Unity Unity is a fully integrated development environment for creating 3D games. Games can be exported to Mac apps, Windows games, web games, mobile apps, Wii, PS3, and XBox 360. Code for Unity games can be written in C#, UnityScript/JavaScript, or Boo programming languages.

Unreal Engine 4 A fully featured 3D game engines designed to build advanced 3D games for Mac, Windows, or Linux. Code for Unreal Engine 4 is written in the C++ programming language.

Game Maker Studio Game Maker Studio is a 2D game engine that makes use of its own programming language called GML to build games. Games can be built for IOS, Android, Desktop, and the web.