Playtesting Reminders. Don t give hints or instructions Watch your playtesters: more useful than their feedback Turn in handwritten signatures

Size: px
Start display at page:

Download "Playtesting Reminders. Don t give hints or instructions Watch your playtesters: more useful than their feedback Turn in handwritten signatures"

Transcription

1

2 Deadline Approaching Course policy: you must turn in a working version of all projects Deadline for incomplete projects is December 19 Same day as Final V

3 Playtesting Reminders Don t give hints or instructions Watch your playtesters: more useful than their feedback Turn in handwritten signatures

4 Announcements QUESTIONS?

5

6 Sound in Games In the real world, computers have sound Background music Sound effects Can be an important part of gameplay Listening for footsteps Dramatic music

7 Sound File Formats Many ways to encode and store sound Open standards Ogg Vorbis FLAC Closed standards mp3 m4a wav

8 Sampled Audio mp3, wav, etc. Recordings of live sounds Samples of sound wave at regular intervals Can be any sound that exists in real life, but must create & record it More common in today s games

9 Generated Audio MIDI Instructions for computer to play music Sound cards have tables of note sounds Can instruct computer to play something even if you can t play it Used to be popular to save space, not as common now

10 Compressed vs. Uncompressed Compressed Sound Files Lossy or Lossless? Lossy remove least important parts of sound wave Lossless just use smart compression on raw wave Smaller file size (esp. lossy) Lossy is lower quality Slower to decode and play Used for music Uncompressed Sound Files Record as much as possible of sound wave Much larger file size Usually high quality Faster to decode and play Used for sound effects

11 Buffering Decompressing and decoding is slow Read sound into buffer, play back from buffer Size of buffer depends on speed of system Playback delay while buffer is filled Sound device Buffer Decoding Sound file

12 Sound in Java Lines, DataLines, and Clips Sources of audio for software audio mixer Clip is preloaded samples, DataLine is streaming audio from buffer AudioSystem Provides factory methods for loading audio sources AudioInputStream stream = AudioSystem.getAudioInputStream(new File( mysound.wav )); Clip clip = AudioSystem.getClip(); clip.open(stream); clip.start(); AudioFormat format = stream.getformat(); SourceDataLine line = AudioSystem.getSourceDataLine(format); line.open(format); int nread=0; byte[] data=new byte[4096]; while(nread > -1) { nread = stream.read(data, 0, data.length); line.write(data, 0, nread); }

13 Sound in Java Sequencer plays MIDI sounds MidiSystem is like AudioSystem for MIDI files Sequence song = MidiSystem.getSequence(new File( mysong.mid )); Sequencer midiplayer = MidiSystem.getSequencer(); midiplayer.open(); midiplayer.setsequence(song); midiplayer.setloopcount(0); midiplayer.start();

14 Sound QUESTIONS?

15

16 Settings User profile Game settings Game state Progress through level Various styles of saving What to Save

17 Data Persistence SETTINGS

18 Custom controls Player name Considerations Saving User Settings Need to save per user Should be able to export between game instances Ideally put in cloud sync

19 Saving Game Settings Preferred resolution Graphics detail level Considerations Need to save per installation of game Should not go in cloud storage machinespecific, can t sync

20 Serialize a Java object Java properties file XML/JSON file Easy for humans to read Harder to parse Custom text format Can be more concise, easy to parse Strategies

21 User probably doesn t need to know file location Still make it easy to find so user can back it up Don t save automatically, revert graphics changes if no response User Interface

22 Data Persistence GAME STATE

23 When to Save Game Only at checkpoints Easier to implement Each checkpoint is a level, reload level when player dies More frustrating for player Ensure they re frequent enough

24 When to Save Game Any time at save stations Like checkpoints, but user can go back and resave Better for nonlinear games Need to save level state/ progress, but not exact positions (save room usually empty)

25 When to Save Game Whenever user wants Harder to implement, need a snapshot of current game state Good for difficult games with frequent failure Can still restrict when user can save (e.g. not during combat)

26 Automatic Saving Always a good idea, even when user can choose when to save Just because saves are available doesn t mean user will use them Don t set user too far back when they fail

27 Strategies Serialize and restore entire game world Save some info about player progress and reload level Concise save file that can be unmarshaled into game world

28 Save slots Easy, simple, annoying Native file browser Easy way to allow arbitrary saves Doesn t mesh well with game, unprofessional User Interface

29 Custom save-file browser Harder to implement, but most flexible/featureful Features Screenshot of saved game Show only current player s saves User Interface Sort by time & type of save

30 Data Persistence QUESTIONS?

31

32 Gameplay is Important Implement most of your game logic this week Playtest early and often Use the feedback you re getting

33 Tips for Final III JAVA TIP OF THE WEEK

34 The Many Uses of final Did you know? final can be applied to: Instance variables Local variables Method parameters Classes Methods

35 Final Instance Variables Value never changes Can be set in constructor or initializer block Must be set by the time an instance is created Can be different between instances of same class public class Example { } private final float mass; private final String name; private final int[] values = {1, 2, 3, 4, 5}; public Example(String name, float mass) { } this.name = name; this.mass = mass;

36 Warning: final Objects Aren t Immutable final makes object reference constant, not object itself Can still change a final field if object is mutable Arrays are objects public class FinalContainer { } public final List<Integer> stuff; public final String[] things; public FinalContainer(List<Integer> stuff, String[] things) { } this.stuff = stuff; this.things = things; FinalContainer container = new FinalContainer(myList, myset); container.stuff.clear(); container.things[0]= oops ;

37 Final Instance Variables Denote fields that should never change over lifetime of object Safe(r) to make final fields public Useful for ensuring objects are immutable Useful for making structs public class Vec2f { } public final float x; public final float y; public Vec2f(float x, float y) public class Results { public final boolean collision; public final Vec2f point; public final Vec2f mtv; public Results(boolean collision, Vec2f point, Vec2f mtv) }

38 Final Local Variables Must be set immediately at declaration Value can t change Can assign new final variable with same name Same warning: Object references can t change, objects are still mutable public float dostuff(int[] nums) { } int sum = 0; for(final int num : nums) sum += num; final float ave = sum / (float) nums.length; //illegal: ave += 1; final List<Float> list = new ArrayList<Float>(); list.add(sum); list.add(ave); return ave;

39 Final Local Variables Help guarantee a value doesn t change after being computed Allow inner classes to access local variables Inner class saves state of local variables, only works if they don t change public void addshowfield(string text) { final TextField field = new TextField(text); field.setvisible(false); this.add(field); Button button = new Button( Click to show, new ButtonListener() { } }); public void onclicked() { field.setvisible(true); } this.add(button);

40 Final Parameters Special kind of local variable, same behavior Set by caller, can t change once in method Note that changing parameters wouldn t affect caller anyway public boolean contains(final String query, final int start, final int end) { } //illegal while(start < end) { } //legal start++; for(int i = start; i < end; i++) { } if(sequence.contains( stuff, 0, 5)) if(sequence.contains( things, 8, 60))

41 Final Parameters Guarantee that parameters always represent caller s values If you need to compute something, use a local variable Easier maintainability in long methods public void compute(final Vec2f point, final float dist) { } Vec2f endpoint = point.plus(dist, dist); float mag = Math.sqrt(dist); //many more computations //much later in the method float sqr = dist * dist; Vec2f extend = point.smult(sqr); //do more stuff

42 Final Classes Can t be extended Useful for designing libraries Ensures clients can t break other classes by changing expected behavior public final class Data { private int count; private float total; public float getaverage() { return total / count; } public void add(float datum) { total += datum; count++; } }

43 Final Methods Can t be overridden Selectively allow inheritance In a final class, all methods are final Abstract classes can have final methods abstract class Parser { //can t be overridden final void loadfile(file file) { //(read file into memory) } //can be overridden boolean validatefile() { boolean success = true; for(string line : filelines) success = success && validate(line); return success; } //must be overridden abstract boolean validate(string line); }

44 Final Methods Also useful for libraries Can even guard yourself against bad design Prevent subclasses from changing some behavior Guarantee important setup happens More useful if your code is modular public class Tree<E extends Element> { public final boolean add(e elem) { } Node<E> newnode = new Node<E>(elem); Node<E> parent = getparent(elem); parent.addchild(newnode); rebalance(parent); } public Node<E> getparent(e elem){ } public void rebalance(node<e> changed) { }

45 Tips for Final III QUESTIONS?

46

Level Editor. Should be stable (as of Sunday) Will be updating the source code if you want to make tweaks to it for your final

Level Editor. Should be stable (as of Sunday) Will be updating the source code if you want to make tweaks to it for your final Level Editor Should be stable (as of Sunday) Will be updating the source code if you want to make tweaks to it for your final Spoooooky Three checkpoints due next week M III Tac V Final I Good news! Playtesting

More information

No more engine requirements! From now on everything you work on is designed by you. Congrats!

No more engine requirements! From now on everything you work on is designed by you. Congrats! No more engine requirements! From now on everything you work on is designed by you Congrats! Design check required Ben: Thursday 2-4 David: Thursday 8-10 Jeff: Friday 2-4 Tyler: Friday 4-6 Final III Don

More information

This is the last lecture!

This is the last lecture! This is the last lecture! Email the TA list if you need more help Next week is final presentations during normal class time Super deadline day shortly after (12/17) Might want to hand in everything earlier

More information

Digital Audio Basics

Digital Audio Basics CSC 170 Introduction to Computers and Their Applications Lecture #2 Digital Audio Basics Digital Audio Basics Digital audio is music, speech, and other sounds represented in binary format for use in digital

More information

ADDING MUSIC TO YOUR itunes LIBRARY

ADDING MUSIC TO YOUR itunes LIBRARY part ADDING MUSIC TO YOUR itunes LIBRARY The first step to getting music on your ipod is to add it to your computer s itunes library. The library is both a folder hierarchy where your files are stored

More information

Amazing Audacity: Session 1

Amazing Audacity: Session 1 Online 2012 Amazing Audacity: Session 1 Katie Wardrobe Midnight Music The Audacity Screen...3 Import audio (a song or SFX)...3 Before we start... 3 File formats... 3 What s the different between WAV and

More information

CIS 121 Data Structures and Algorithms with Java Spring 2018

CIS 121 Data Structures and Algorithms with Java Spring 2018 CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 6 Compression Due: Monday, March 12, 11:59pm online 2 Required Problems (45 points), Qualitative Questions (10 points), and Style and

More information

the gamedesigninitiative at cornell university Lecture 15 Game Audio

the gamedesigninitiative at cornell university Lecture 15 Game Audio Lecture 15 The Role of Audio in Games Engagement Entertains player Music/Soundtrack Enhances realism Sound effects Establishes atmosphere Ambient sounds Or reasons? 2 The Role of Audio in Games Feedback

More information

JAVA MOCK TEST JAVA MOCK TEST II

JAVA MOCK TEST JAVA MOCK TEST II http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your

More information

Skill Area 214: Use a Multimedia Software. Software Application (SWA)

Skill Area 214: Use a Multimedia Software. Software Application (SWA) Skill Area 214: Use a Multimedia Application (SWA) Skill Area 214: Use a Multimedia 214.4 Produce Audio Files What is digital audio? Audio is another meaning for sound. Digital audio refers to a digital

More information

Lesson 5: Multimedia on the Web

Lesson 5: Multimedia on the Web Lesson 5: Multimedia on the Web Learning Targets I can: Define objects and their relationships to multimedia Explain the fundamentals of C, C++, Java, JavaScript, JScript, C#, ActiveX and VBScript Discuss

More information

Optimizing Audio for Mobile Development. Ben Houge Berklee College of Music Music Technology Innovation Valencia, Spain

Optimizing Audio for Mobile Development. Ben Houge Berklee College of Music Music Technology Innovation Valencia, Spain Optimizing Audio for Mobile Development Ben Houge Berklee College of Music Music Technology Innovation Valencia, Spain Optimizing Audio Different from movies or CD s Data size vs. CPU usage For every generation,

More information

AAMS Auto Audio Mastering System V3 Manual

AAMS Auto Audio Mastering System V3 Manual AAMS Auto Audio Mastering System V3 Manual As a musician or technician working on music sound material, you need the best sound possible when releasing material to the public. How do you know when audio

More information

UNDERSTANDING MUSIC & VIDEO FORMATS

UNDERSTANDING MUSIC & VIDEO FORMATS ComputerFixed.co.uk Page: 1 Email: info@computerfixed.co.uk UNDERSTANDING MUSIC & VIDEO FORMATS Are you confused with all the different music and video formats available? Do you know the difference between

More information

Java Sound API Programmer s Guide

Java Sound API Programmer s Guide Java Sound API Programmer s Guide i ii Java Sound API Programmer s Guide iii 1999-2000 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. RESTRICTED

More information

Multi-Room Music Servers

Multi-Room Music Servers CT-1: 1 Stream Server CT-8: 8 Stream Server CT-2: 2 Stream Server CT-12: 12 Stream Server CT-16: 16 Stream Server CT-3: 3 Stream Server CT-20: 20 Stream Server CT-4+: 5 Stream Server CT-24: 24 Stream Server

More information

CHAPTER 10: SOUND AND VIDEO EDITING

CHAPTER 10: SOUND AND VIDEO EDITING CHAPTER 10: SOUND AND VIDEO EDITING What should you know 1. Edit a sound clip to meet the requirements of its intended application and audience a. trim a sound clip to remove unwanted material b. join

More information

Export Audio Mixdown

Export Audio Mixdown 26 Introduction The function in Cubase Essential allows you to mix down audio from the program to a file on your hard disk. You always mix down an output bus. For example, if you have set up a stereo mix

More information

Completing the Multimedia Architecture

Completing the Multimedia Architecture Copyright Khronos Group, 2011 - Page 1 Completing the Multimedia Architecture Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 2 Today

More information

Lesson 5: Multimedia on the Web

Lesson 5: Multimedia on the Web Lesson 5: Multimedia on the Web Lesson 5 Objectives Define objects and their relationships to multimedia Explain the fundamentals of C, C++, Java, JavaScript, JScript, C#, ActiveX and VBScript Discuss

More information

Media Computation. Lecture 15.2, December 3, 2008 Steve Harrison

Media Computation. Lecture 15.2, December 3, 2008 Steve Harrison Media Computation Lecture 15.2, December 3, 2008 Steve Harrison Today -- new Stuff! Two kinds of methods: object class Creating Classes identifying objects and classes constructors adding a method, accessors

More information

Data Structures (list, dictionary, tuples, sets, strings)

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

ipod shuffle User Guide

ipod shuffle User Guide ipod shuffle User Guide 2 Contents Chapter 1 3 About ipod shuffle Chapter 2 4 ipod shuffle Basics 4 ipod shuffle at a Glance 5 Using the ipod shuffle Controls 6 Connecting and Disconnecting ipod shuffle

More information

Introduction into Game Programming (CSC329)

Introduction into Game Programming (CSC329) Introduction into Game Programming (CSC329) Sound Ubbo Visser Department of Computer Science University of Miami Content taken from http://docs.unity3d.com/manual/ March 7, 2018 Outline 1 Audio overview

More information

Lecture #3: Digital Music and Sound

Lecture #3: Digital Music and Sound Lecture #3: Digital Music and Sound CS106E Spring 2018, Young In this lecture we take a look at how computers represent music and sound. One very important concept we ll come across when studying digital

More information

3.01C Multimedia Elements and Guidelines Explore multimedia systems, elements and presentations.

3.01C Multimedia Elements and Guidelines Explore multimedia systems, elements and presentations. 3.01C Multimedia Elements and Guidelines 3.01 Explore multimedia systems, elements and presentations. Multimedia Fair Use Guidelines Guidelines for using copyrighted multimedia elements include: Text Motion

More information

Object-Oriented Programming (OOP) Basics. CSCI 161 Introduction to Programming I

Object-Oriented Programming (OOP) Basics. CSCI 161 Introduction to Programming I Object-Oriented Programming (OOP) Basics CSCI 161 Introduction to Programming I Overview Chapter 8 in the textbook Building Java Programs, by Reges & Stepp. Review of OOP History and Terms Discussion of

More information

About sounds and Animate CC

About sounds and Animate CC About sounds and Animate CC Adobe Animate offers several ways to use sound. Make sounds that play continuously, independent of the Timeline, or use the Timeline to synchronize animation to a sound track.

More information

Lecture 19 Media Formats

Lecture 19 Media Formats Revision IMS2603 Information Management in Organisations Lecture 19 Media Formats Last week s lectures looked at MARC as a specific instance of complex metadata representation and at Content Management

More information

CS 177 Week 15 Recitation Slides. Review

CS 177 Week 15 Recitation Slides. Review CS 177 Week 15 Recitation Slides Review 1 Announcements Final Exam on Friday Dec. 18 th STEW 183 from 1 3 PM Complete your online review of your classes. Your opinion matters!!! Project 6 due Just kidding

More information

Media player for windows 10 free download

Media player for windows 10 free download Media player for windows 10 free download Update to the latest version of Internet Explorer. You need to update your browser to use the site. PROS: High-quality playback, Wide range of formats, Fast and

More information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

Lecture 6. COMP1006/1406 (the OOP course) Summer M. Jason Hinek Carleton University

Lecture 6. COMP1006/1406 (the OOP course) Summer M. Jason Hinek Carleton University Lecture 6 COMP1006/1406 (the OOP course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments A1,A2,A3 are all marked A4 marking just started A5 is due Friday, A6 is due Monday a quick

More information

Adding content to your Blackboard 9.1 class

Adding content to your Blackboard 9.1 class Adding content to your Blackboard 9.1 class There are quite a few options listed when you click the Build Content button in your class, but you ll probably only use a couple of them most of the time. Note

More information

History of Audio in Unity

History of Audio in Unity Audio Showcase About Me (Wayne) Core / Audio team at Unity Work in the Copenhagen office Originally worked for FMOD (Audio Engine) Work on Audio and other new tech in Unity Interested in most phases of

More information

WaveLab Pro 9.5 WaveLab Elements 9.5

WaveLab Pro 9.5 WaveLab Elements 9.5 WaveLab Pro 9.5 WaveLab Elements 9.5 Version History July 2018 Steinberg Media Technologies GmbH WaveLab 9.5.35 July 2018 This version contains the following improvements and issue resolutions. Issues

More information

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University 9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes

More information

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures Dan Grossman Fall 2014 Hi! I m not Hal J I love this stuff and have taught

More information

Compressed Audio Demystified by Hendrik Gideonse and Connor Smith. All Rights Reserved.

Compressed Audio Demystified by Hendrik Gideonse and Connor Smith. All Rights Reserved. Compressed Audio Demystified Why Music Producers Need to Care About Compressed Audio Files Download Sales Up CD Sales Down High-Definition hasn t caught on yet Consumers don t seem to care about high fidelity

More information

Audio for Everybody. OCPUG/PATACS 21 January Tom Gutnick. Copyright by Tom Gutnick. All rights reserved.

Audio for Everybody. OCPUG/PATACS 21 January Tom Gutnick. Copyright by Tom Gutnick. All rights reserved. Audio for Everybody OCPUG/PATACS 21 January 2017 Copyright 2012-2017 by Tom Gutnick. All rights reserved. Tom Gutnick Session overview Digital audio properties and formats ADC hardware Audacity what it

More information

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within

More information

Arrays. COMS W1007 Introduction to Computer Science. Christopher Conway 10 June 2003

Arrays. COMS W1007 Introduction to Computer Science. Christopher Conway 10 June 2003 Arrays COMS W1007 Introduction to Computer Science Christopher Conway 10 June 2003 Arrays An array is a list of values. In Java, the components of an array can be of any type, basic or object. An array

More information

Mid-Semester Feedback

Mid-Semester Feedback Mid-Semester Feedback We re happy that you re happy Top complaint: I feel behind Retry system has you covered and we did warn you about the snowball 10 8 6 4 2 0 Overall Happiness (1-5) 1 2 3 4 5 Mid-Semester

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Game Design From Concepts To Implementation

Game Design From Concepts To Implementation Game Design From Concepts To Implementation Giacomo Cappellini - g.cappellini@mixelweb.it Why Unity - Scheme Unity Editor + Scripting API (C#)! Unity API (C/C++)! Unity Core! Drivers / O.S. API! O.S.!

More information

CONTENTS CHAPTER I: BEFORE USE I. BEFORE USE

CONTENTS CHAPTER I: BEFORE USE I. BEFORE USE I. BEFORE USE Foreword 1. Features 2. Accessories 3. Product Safety Information 4. Illustrations and Functions II. FAST OPERATION 1. Startup 2. Shutdown 3. Lock 4. Reset 5. Pause 6. Music File Select 7.

More information

Tail Calls. CMSC 330: Organization of Programming Languages. Tail Recursion. Tail Recursion (cont d) Names and Binding. Tail Recursion (cont d)

Tail Calls. CMSC 330: Organization of Programming Languages. Tail Recursion. Tail Recursion (cont d) Names and Binding. Tail Recursion (cont d) CMSC 330: Organization of Programming Languages Tail Calls A tail call is a function call that is the last thing a function does before it returns let add x y = x + y let f z = add z z (* tail call *)

More information

Next week will be great!

Next week will be great! Next week will be great! Three major things are happening next week: Zynga guest lecture Your game pitches (more details later) Christina Paxson Feedback for M 1 Some of you had stacking shapes The stack

More information

Creating a short stop motion animation with Adobe Photoshop CC. Open Adobe Photoshop CC. A note about embedding

Creating a short stop motion animation with Adobe Photoshop CC. Open Adobe Photoshop CC. A note about embedding Creating a short stop motion animation with Adobe Photoshop CC Open Adobe Photoshop CC A note about embedding Photoshop CC never embeds video or sound into your document. Instead, it links to the original

More information

Logistics. Homework 9 due tomorrow Will post Homework 10 over the next few days. No class/recitation on Wednesday

Logistics. Homework 9 due tomorrow Will post Homework 10 over the next few days. No class/recitation on Wednesday More about classes Logistics Homework 9 due tomorrow Will post Homework 10 over the next few days Will be due two weeks from tomorrow Last homework No class/recitation on Wednesday Composition The most

More information

SoundBridge Helpful Tips. For customers who want to use Roku SoundBridge with the SlimServer music server

SoundBridge Helpful Tips. For customers who want to use Roku SoundBridge with the SlimServer music server SoundBridge Helpful Tips For customers who want to use Roku SoundBridge with the SlimServer music server Revision 1.2 October 25, 2004 1 I. Setting Up Your SlimServer-based Network Choosing Your Software

More information

Lab 8: Introduction to Scala 12:00 PM, Mar 14, 2018

Lab 8: Introduction to Scala 12:00 PM, Mar 14, 2018 CS18 Integrated Introduction to Computer Science Fisler Lab 8: Introduction to Scala 12:00 PM, Mar 14, 2018 Contents 1 Getting Started 1 2 Vals vs Vars 1 3 Team Rocket s Shenanigans 2 4 Lunch Time! 3 5

More information

Introducing working with sounds in Audacity

Introducing working with sounds in Audacity Introducing working with sounds in Audacity A lot of teaching programs makes it possible to add sound to your production. The student can either record her or his own voice and/or add different sound effects

More information

Compression; Error detection & correction

Compression; Error detection & correction Compression; Error detection & correction compression: squeeze out redundancy to use less memory or use less network bandwidth encode the same information in fewer bits some bits carry no information some

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

Avigilon Control Center Player User Guide. Version 6.2

Avigilon Control Center Player User Guide. Version 6.2 Avigilon Control Center Player User Guide Version 6.2 2006-2017, Avigilon Corporation. All rights reserved. AVIGILON, the AVIGILON logo, AVIGILON CONTROL CENTER, ACC, AVIGILON APPEARANCE SEARCH, TRUSTED

More information

02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211

02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 02 Features of C#, Part 1 Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 Module Overview Constructing Complex Types Object Interfaces and Inheritance Generics Constructing

More information

_APP B_549_10/31/06. Appendix B. Producing for Multimedia and the Web

_APP B_549_10/31/06. Appendix B. Producing for Multimedia and the Web 1-59863-307-4_APP B_549_10/31/06 Appendix B Producing for Multimedia and the Web In addition to enabling regular music production, SONAR includes a number of features to help you create music for multimedia

More information

Properties of an identifier (and the object it represents) may be set at

Properties of an identifier (and the object it represents) may be set at Properties of an identifier (and the object it represents) may be set at Compile-time These are static properties as they do not change during execution. Examples include the type of a variable, the value

More information

Creating an Encoding Independent Music Genre. Classifier

Creating an Encoding Independent Music Genre. Classifier Creating an Encoding Independent Music Genre Classifier John-Ashton Allen, Sam Oluwalana December 16, 2011 Abstract The field of machine learning is characterized by complex problems that are solved by

More information

HTML 5 and CSS 3, Illustrated Complete. Unit K: Incorporating Video and Audio

HTML 5 and CSS 3, Illustrated Complete. Unit K: Incorporating Video and Audio HTML 5 and CSS 3, Illustrated Complete Unit K: Incorporating Video and Audio Objectives Understand Web video and audio Use the video element Incorporate the source element Control playback HTML 5 and CSS

More information

Call Reporter Pro Software

Call Reporter Pro Software Call Reporter Pro Software Call Management Features User Guide Version 1.05 Date & Issue: Issue 1 June 2017 www.usbcallrecord.com This guide is Copyright Intelligent Recording Limited 2017 Introduction

More information

WaveLab Pro 9.5 WaveLab Elements 9.5

WaveLab Pro 9.5 WaveLab Elements 9.5 WaveLab Pro 9.5 WaveLab Elements 9.5 Version History November 2018 Steinberg Media Technologies GmbH WaveLab 9.5.40 November 2018 This version contains the following improvements and issue resolutions.

More information

Important tips. N91 and N91 8GB common. File Management. Nokia PC Suite (especially Nokia Audio Manager)

Important tips. N91 and N91 8GB common. File Management. Nokia PC Suite (especially Nokia Audio Manager) Important tips N91 and N91 8GB common Nokia PC Suite (especially Nokia Audio Manager) Nokia PC Suite is optimized for management of data on Phone memory [C:]. Nokia PC Suite is recommended for managing

More information

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM CSE, Winter Programming Assignment #8: Huffman Coding ( points) Due Thursday, March,, : PM This program provides practice with binary trees and priority queues. Turn in files named HuffmanTree.java, secretmessage.short,

More information

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented Table of Contents L01 - Introduction L02 - Strings Some Examples Reserved Characters Operations Immutability Equality Wrappers and Primitives Boxing/Unboxing Boxing Unboxing Formatting L03 - Input and

More information

Skill Area 325: Deliver the Multimedia content through various media. Multimedia and Web Design (MWD)

Skill Area 325: Deliver the Multimedia content through various media. Multimedia and Web Design (MWD) Skill Area 325: Deliver the Multimedia content through various media Multimedia and Web Design (MWD) 325.1 Understanding of multimedia considerations for Internet (13hrs) 325.1.1 Analyze factors affecting

More information

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017 Overview of OOP Dr. Zhang COSC 1436 Summer, 2017 7/18/2017 Review Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in square brackets: l = [1, 2, "a"] (access by index, is mutable

More information

SERIOUS ABOUT SOFTWARE. Qt Core features. Timo Strömmer, May 26,

SERIOUS ABOUT SOFTWARE. Qt Core features. Timo Strömmer, May 26, SERIOUS ABOUT SOFTWARE Qt Core features Timo Strömmer, May 26, 2010 1 Contents C++ refresher Core features Object model Signals & slots Event loop Shared data Strings Containers Private implementation

More information

Manual Version: V1.15. Video Management Software Guard Station User Manual

Manual Version: V1.15. Video Management Software Guard Station User Manual Manual Version: V1.15 Video Management Software Guard Station User Manual Thank you for purchasing our product. If there are any questions, or requests, please do not hesitate to contact the dealer. Disclaimer

More information

Understand digital audio production methods, software, and hardware.

Understand digital audio production methods, software, and hardware. Objective 105.02 Understand digital audio production methods, software, and hardware. Course Weight : 6% 1 Three Phases for Producing Digital audio : 1. Pre-Production define parameters of the audio project

More information

Lecture 12: Compression

Lecture 12: Compression Lecture 12: Compression The Digital World of Multimedia Prof. Mari Ostendorf Announcements Lab3: Finish this week Lab 4: Finish *at least* parts 1-2 this week Read the lab *before* lab You probably need

More information

Multimedia on the Web

Multimedia on the Web Multimedia on the Web Graphics in web pages Downloading software & media Digital photography JPEG & GIF Streaming media Macromedia Flash Graphics in web pages Graphics are very popular in web pages Graphics

More information

jetcast Manual Table of Contents

jetcast Manual Table of Contents jetcast Manual Table of Contents 1. Special Features 2. Installations 2-1 Installation 2-2 Removals 3. How to use 3-1 Broadcasting based on jetcast (internal jet server) 3-2 Broadcasting based on External

More information

Chapter 5.5 Audio Programming

Chapter 5.5 Audio Programming Chapter 5.5 Audio Programming Audio Programming Audio in games is more important than ever before 2 Programming Basic Audio Most gaming hardware has similar capabilities (on similar platforms) Mostly programming

More information

CS61B Lecture #13: Packages, Access, Etc.

CS61B Lecture #13: Packages, Access, Etc. CS61B Lecture #13: Packages, Access, Etc. Modularization facilities in Java. Importing Nested classes. Using overridden method. Parent constructors. Type testing. Last modified: Fri Sep 22 11:04:42 2017

More information

ITP 342 Mobile App Dev. Audio

ITP 342 Mobile App Dev. Audio ITP 342 Mobile App Dev Audio File Formats and Data Formats 2 pieces to every audio file: file format (or audio container) data format (or audio encoding) File formats describe the format of the file itself

More information

COURSE 2 DESIGN PATTERNS

COURSE 2 DESIGN PATTERNS COURSE 2 DESIGN PATTERNS CONTENT Fundamental principles of OOP Encapsulation Inheritance Abstractisation Polymorphism [Exception Handling] Fundamental Patterns Inheritance Delegation Interface Abstract

More information

B. What strategy (order of refactorings) would you use to improve the code?

B. What strategy (order of refactorings) would you use to improve the code? { return title.gettext(); public boolean needssplit() { return costlabel.gettext().equals(" >3 "); public boolean needsestimate() { return costlabel.gettext().equals("? "); Challenges PG-1. Smells. A.

More information

5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading.

5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading. Last Time Reviewed method overloading. A few useful Java classes: Other handy System class methods Wrapper classes String class StringTokenizer class Assn 3 posted. Announcements Final on June 14 or 15?

More information

Data Representation. Reminders. Sound What is sound? Interpreting bits to give them meaning. Part 4: Media - Sound, Video, Compression

Data Representation. Reminders. Sound What is sound? Interpreting bits to give them meaning. Part 4: Media - Sound, Video, Compression Data Representation Interpreting bits to give them meaning Part 4: Media -, Video, Compression Notes for CSC 100 - The Beauty and Joy of Computing The University of North Carolina at Greensboro Reminders

More information

Abstract Classes and Interfaces

Abstract Classes and Interfaces Abstract Classes and Interfaces Reading: Reges and Stepp: 9.5 9.6 CSC216: Programming Concepts Sarah Heckman 1 Abstract Classes A Java class that cannot be instantiated, but instead serves as a superclass

More information

Collaboration policies!

Collaboration policies! Tic is over! Collaboration policies! How was the signup process? Were they helpful? Would you rather have more TA hours instead? Design checks You can run demos! cs195n_demo tac2 zdavis cs195n_demo tic

More information

Long term Planning 2015/2016 ICT - CiDA Year 9

Long term Planning 2015/2016 ICT - CiDA Year 9 Term Weeks Unit No. & Project Topic Aut1 1&2 (U1) Website Analysis & target audience 3&4 (U1) Website Theme 1 Assessment Objective(s) Knowledge & Skills Literacy, numeracy and SMSC AO4 evaluating the fitness

More information

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics Inf1-OP Inf1-OP Exam Review Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein School of Informatics March 20, 2017 Overview Overview of examinable material: Lectures Week 1

More information

CSC207H: Software Design. Java + OOP. CSC207 Winter 2018

CSC207H: Software Design. Java + OOP. CSC207 Winter 2018 Java + OOP CSC207 Winter 2018 1 Why OOP? Modularity: code can be written and maintained separately, and easily passed around the system Information-hiding: internal representation hidden from the outside

More information

Improving the Crab more sophisticated programming

Improving the Crab more sophisticated programming CHAPTER 3 Improving the Crab more sophisticated programming topics: concepts: random behavior, keyboard control, sound dot notation, random numbers, defining methods, comments In the previous chapter,

More information

digitization station DIGITIZING VINYL RECORDS 120 West 14th Street

digitization station DIGITIZING VINYL RECORDS 120 West 14th Street digitization station DIGITIZING VINYL RECORDS 120 West 14th Street www.nvcl.ca techconnect@cnv.org DIGITIZING VINYL RECORDS With Audacity The Audio-Technica AT-LP120 USB Direct Drive Professional Turntable

More information

COPYRIGHTED MATERIAL. chapter 1. How Do I Configure My iphone? 2

COPYRIGHTED MATERIAL. chapter 1. How Do I Configure My iphone? 2 chapter 1 How Do I Configure My iphone? 2 Customizing the Home Screen to Suit Your Style 4 Creating an app folder 5 Adding a Safari web clip to the Home screen 6 Resetting the default Home screen layout

More information

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,

More information

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics Inf1-OOP OOP Exam Review Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 16, 2015 Overview Overview of examinable material: Lectures Topics S&W sections Week 1 Compilation,

More information

COMP6700 Introductory Programming

COMP6700 Introductory Programming THE AUSTRALIAN NATIONAL UNIVERSITY First Semester 2016 Sample Midsemester Examination COMP6700 Introductory Programming Writing Period: 90 minutes Study Period: 10 minutes Permitted Materials: Java API

More information

Exploiting Vulnerabilities in Media Software. isec Partners

Exploiting Vulnerabilities in Media Software. isec Partners Exploiting Vulnerabilities in Media Software Agenda Introduction Why media software? Why bugs are still out there How we're going to bang them out Fuzzing techniques Why/What/How Fuzzbox Codecs to attack

More information

References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1

References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 10/14/2004 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,

More information

Java Threads and intrinsic locks

Java Threads and intrinsic locks Java Threads and intrinsic locks 1. Java and OOP background fundamentals 1.1. Objects, methods and data One significant advantage of OOP (object oriented programming) is data encapsulation. Each object

More information

Chapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc.

Chapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc. Chapter 13 Object Oriented Programming Contents 13.1 Prelude: Abstract Data Types 13.2 The Object Model 13.4 Java 13.1 Prelude: Abstract Data Types Imperative programming paradigm Algorithms + Data Structures

More information

audiocd Rik Hemsley Benjamin Meyer

audiocd Rik Hemsley Benjamin Meyer Rik Hemsley Benjamin Meyer 2 Contents 3 Allows treating audio CDs like a real filesystem, where tracks are represented as files and, when copied from the folder, are digitally extracted from the CD. This

More information

QUIZ Friends class Y;

QUIZ Friends class Y; QUIZ Friends class Y; Is a forward declaration neeed here? QUIZ Friends QUIZ Friends - CONCLUSION Forward (a.k.a. incomplete) declarations are needed only when we declare member functions as friends. They

More information

NoteBurner Spotify Music Converter for Windows. Tutorial of NoteBurner Spotify Music Converter for Windows

NoteBurner Spotify Music Converter for Windows. Tutorial of NoteBurner Spotify Music Converter for Windows Tutorial of NoteBurner Spotify Music Converter for Windows Overview Tutorials Introduction Import Music Files Key Features Delete Music Files System Requirements Choose Output Format Purchase & Registration

More information

Manual Version: V1.01. ISS Manager Video Management Software User Manual

Manual Version: V1.01. ISS Manager Video Management Software User Manual Manual Version: V1.01 ISS Manager Video Management Software User Manual Notice The information in this manual is subject to change without notice. Every effort has been made in the preparation of this

More information