MacOS X Cocoa Programming for Vision Scientist --- #1

Size: px
Start display at page:

Download "MacOS X Cocoa Programming for Vision Scientist --- #1"

Transcription

1 MacOS X Cocoa Programming for Vision Scientist --- #1 (by Izumi Ohzawa, ) 1. Best desktop OS with ease of use and excellent programming environment. 2. OS Darwin BSD Unix Open Source. (Unix 3. Good imaging model: PDF PDF PDF Illustrator PowerPoint 4. OS Xcode 5. No known virus and spyware crap. Windows 6. Intel CPU Virtual PC VMware Windows MacOS X virtual machine Best of both worlds. desktop MacOS X MacOS X Cocoa API Cocoa API Objective-C Objective-C C++ powerful C Objective-C C++ Objective-C URL [ Cocoa 1997 Apple NeXT

2 NeXTSTEP/OpenStep Steve Jobs (Apple founder, NeXT CEO, Apple & Pixar CEO) Apple Cocoa NSObject (NS: NextStep) Apple API C API Cocoa Carbon Carbon Cocoa Objective-C Objective-C SmallTalk C SmallTalk Objective-C C int, float, double C Objective-C SmallTalk Sun 1990 Java Objective-C C++ ] Object (encapsulation) Object message Object C Object Object black box Object 2

3 [ ] Objective-C [receiver message] receiver message myrect display [myrect display]; myrect (30.0, 50.0) [myrect setorigin:30.0 :50.0]; setorigin:: setwidth:height: 2 [myrect setwidth:10.0 height:15.0]; makegroup: 1 (group) 3 [receiver makegroup:group, memberone, membertwo, memberthree]; C myrect isfilled YES NO BOOL isfilled; isfilled = [myrect isfilled]; (added by Izumi): float 3

4 float grating1contrast; grating1contrast = [sender floatvalue]: [myrect setprimarycolor:[otherrect primarycolor]]; nil nil nil nil Objective-C Class Interface file (*.h) Implementation file (*.m) Class Interface file (*.h) Examples/AppKit/DotView/DotView.h #import DotView : NSView { // DotView NSView subclass // { instance NSPoint center; // NSColor *color; // instance float radius; // instance // subclass NSView method - (void)drawrect:(nsrect)rect; // color radius - (IBAction)setRadius:(id)sender; // action message method - (IBAction)setColor:(id)sender; // action message method Interface file DotView methods Object message Object class (superclass; NSView ) message method 4

5 1. method message method "setcolor:" 2. Class 3. Method setwidth:height: Implementation file (*.m) Examples/AppKit/DotView/DotView.m #import <Cocoa/Cocoa.h> #import DotView // // interface file // DotView implementation - (void)drawrect:(nsrect)rect { // View NSRect dotrect; // Rectangle [[NSColor whitecolor] set]; // C NSRectFill([self bounds]); // Veiw (bounds) dotrect.origin.x = center.x - radius; dotrect.origin.y = center.y - radius; dotrect.size.width = 2 * radius; dotrect.size.height = 2 * radius; [color set]; // instance [[NSBezierPath bezierpathwithovalinrect:dotrect] fill]; // message DotView instance // float instance radius // // DotView sender // DotView sender float // DotView self ( DotView display // - (void)setradius:(id)sender { // sender message object radius = [sender floatvalue]; [self setneedsdisplay:yes]; - (void)setcolor:(id)sender { [color autorelease]; color = [[sender color] retain]; [self setneedsdisplay:yes]; Method, - (void)setradius:(id)sender; GUI action message 5

6 [ HMDT ] Class Objective-C MyClassA : NSObject { - MyClassA - (void)method0 { class MyClassA { public: void method0(); ; void MyClassA::method0() { Objective-C message id a = [[MyClassA alloc] init]; [a method0]; C++ MyClassA a; a.method0(); MyClassA * pa = new MyClassA (); pa->method0(); (inheritance) method Objective-C B : A { - B - (void)method1 { class B : public A { public: void method1(); ; void B::method1() { 6

7 Apple Developer Connnection ( ) Cocoa Programming Tips Sketch (/Developer/Examples/Appkit/Sketch/ ) C++ ( ) O'Reilly MacDevCenter: Programming with Cocoa Beginning Mac Development 7

CUSTOM VIEWS. The View Hierarchy. Chapter 12

CUSTOM VIEWS. The View Hierarchy. Chapter 12 Chapter 12 CUSTOM VIEWS A ll the visible objects in an application are either windows or views. In this chapter, you will create a subclass of NSView. From time to time, you will create a custom view to

More information

Cocoa > Objective-C Language

Cocoa > Objective-C Language The Objective-C 2.0 Programming Language Cocoa > Objective-C Language 2008-10-15 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,

More information

Tools & Languages: Objective-C

Tools & Languages: Objective-C The Objective-C Programming Language Tools & Languages: Objective-C 2009-10-19 Apple Inc. 2009 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,

More information

Tools & Languages: Objective-C

Tools & Languages: Objective-C The Objective-C Programming Language Tools & Languages: Objective-C 2010-12-08 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,

More information

Principles of Programming Languages. Objective-C. Joris Kluivers

Principles of Programming Languages. Objective-C. Joris Kluivers Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...

More information

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone

More information

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS X Review Distributed window system Server is the user s Terminal Client runs the application WM Xlib Application Widget Set Xt Intrinsics Xlib Highly modular X Server (exchange WM, Widget Set) BWS Available

More information

Objective-C and Cocoa User Guide and Reference Manual

Objective-C and Cocoa User Guide and Reference Manual Objective-C and Cocoa User Guide and Reference Manual Version 7.1 Copyright and Trademarks LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual Version 7.1 March 2017 Copyright 2017

More information

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa

More information

Custom Views and Events. Lecture 7

Custom Views and Events. Lecture 7 Custom Views and Events Lecture 7 First Representing Points and Areas NSPoint typedef struct _NSPoint { CGFloat x; CGFloat y; } NSPoint; Pair of x, y coordinates NSZeroPoint represents the bottom left

More information

Object-Oriented Programming with Objective-C. Lecture 2

Object-Oriented Programming with Objective-C. Lecture 2 Object-Oriented Programming with Objective-C Lecture 2 Objective-C A Little History Originally designed in the 1980s as a fusion of Smalltalk and C Popularized by NeXTSTEP in 1988 (hence the ubiquitous

More information

Xcode and Swift CS 4720 Mobile Application Development

Xcode and Swift CS 4720 Mobile Application Development Xcode and Swift Mobile Application Development Why Java for Android? Let s first recap: why do you think Android uses Java? 2 Why Java for Android? Some good reasons: You can t find a CS major that doesn

More information

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management CS193E Lecture #3 Categories and Protocols Cocoa Memory Management Winter 2008, Dempsey/Marcos 1 Today s Topics Questions from Assignment 1A or 1B? Categories Protocols Cocoa Memory Management Object life

More information

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone

More information

Introduction to Cocoa Programming

Introduction to Cocoa Programming Introduction to Cocoa Programming Dr. Ken Tabb Computer Science Dept. University of Hertfordshire Agenda Brief history of Cocoa Apple s free Developer Tools - Xcode - Interface Builder Cocoa programming

More information

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C?

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C? Questions Exams: no Get by without own Mac? Why ios? ios vs Android restrictions Selling in App store how hard to publish? Future of Objective-C? Grading: Lab/homework: 40%, project: 40%, individual report:

More information

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

More information

Adopting Advanced Features of the New UI

Adopting Advanced Features of the New UI Frameworks #WWDC14 Adopting Advanced Features of the New UI Session 220 Chris Dreessen AppKit Software Engineer! Corbin Dunn AppKit Software Engineer 2014 Apple Inc. All rights reserved. Redistribution

More information

GNUstep: What is it? gnustep.org

GNUstep: What is it? gnustep.org GNUSTEP GNUstep: What is it? A powerful object-oriented development environment: A set of cross-platform libraries for developing applications (text, graphic, script, web, etc.) Development tools and applications

More information

Views, Drawing, and Events. Lecture 5

Views, Drawing, and Events. Lecture 5 Views, Drawing, and Events Lecture 5 First - Representing Points and Areas NSPoint // Represents a point in a Cartesian coordinate system. typedef struct _NSPoint { CGFloat x; CGFloat y; } NSPoint Pair

More information

Introductory ios Development

Introductory ios Development Instructor s Introductory ios Development Unit 3 - Objective-C Classes Introductory ios Development 152-164 Unit 3 - Swift Classes Quick Links & Text References Structs vs. Classes Structs intended for

More information

IPHONE. Development Jump Start. phil nash levelofindirection.com

IPHONE. Development Jump Start. phil nash levelofindirection.com IPHONE Development Jump Start phil nash levelofindirection.com Who? been in a professional developer for the last 18 years - mostly windows - c++, c#, Java, Python etc - then, Aug 2008, decided to write

More information

What s New in Cocoa for macos

What s New in Cocoa for macos Session #WWDC18 What s New in Cocoa for macos 209 Ali Ozer, Cocoa Frameworks Chris Dreessen, Cocoa Frameworks Jesse Donaldson, Cocoa Frameworks 2018 Apple Inc. All rights reserved. Redistribution or public

More information

Custom Views and Drawing. Lecture 5

Custom Views and Drawing. Lecture 5 Custom Views and Drawing Lecture 5 First - Representing Points and Areas NSPoint typedef struct _NSPoint { CGFloat x; CGFloat y; } NSPoint Pair of x, y coordinates NSZeroPoint represents the origin Create

More information

The MVC Design Pattern

The MVC Design Pattern The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend

More information

COCOA WORKSHOP PART 1. Andreas Monitzer

COCOA WORKSHOP PART 1. Andreas Monitzer COCOA WORKSHOP PART 1 Andreas Monitzer 2009-02-17 WORKSHOP SCHEDULE 1. Introduction, Foundation 2. GUI Programming 3. Hands-On 4. Advanced 2009-02-17 2009-02-19 2009-02-24 2009-02-26 STRUCTURE Introduction

More information

Mac OS X. Mach in the Darwin Kernel. COMP342 4/5/06

Mac OS X. Mach in the Darwin Kernel.  COMP342 4/5/06 Mac OS X Mach in the Darwin Kernel http://www.maths.mq.edu.au/~steffen/talks/ COMP342 4/5/06 Daniel A. Steffen Mathematics Department Macquarie University steffen@maths.mq.edu.au Mach in the Darwin Kernel

More information

What s New in NSCollectionView Session 225

What s New in NSCollectionView Session 225 App Frameworks #WWDC15 What s New in NSCollectionView Session 225 Troy Stephens Application Frameworks Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without

More information

CS193E Lecture 14. Cocoa Bindings

CS193E Lecture 14. Cocoa Bindings CS193E Lecture 14 Cocoa Bindings Agenda Questions? Personal Timeline IV Key Value Coding Key Value Observing Key Value Binding Cocoa Bindings What are Cocoa Bindings? Added in Panther, more mature in Tiger

More information

Acollada ios Charting Components

Acollada ios Charting Components Acollada ios Charting Components Acollada ios Charting Components... 1 LineChartView... 3 Description... 3 Screenshot... 3 Protocols to be implemented... 3 Customizing the LineChartView aspect... 4 How

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

About MSDOSX. Lecture 0

About MSDOSX. Lecture 0 About MSDOSX Lecture 0 Goal: make an app of your own design for the Mac or iphone The Plan Lectures + Labs for several weeks Project proposals (about halfway through the semester) Work on project Present

More information

Mobile Application Development

Mobile Application Development Mobile Application Development Lecture 13 Introduction to ObjectiveC Part II 2013/2014 Parma Università degli Studi di Parma Lecture Summary Object creation Memory management Automatic Reference Counting

More information

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net OVERVIEW Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net Microsoft MVP for 4 years C#, WinForms, WPF, Silverlight Joined Cynergy about

More information

iphone Software Development

iphone Software Development iphone Software Development Philipp Schmidt Volker Roth 1 What will you do..? Learn how to develop iphone apps resembling a typical real-life workflow

More information

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding CS193E Lecture 7 Document-based Applications NSTableView Key-Value Coding Agenda Questions? Review: delegates, MVC Document-based apps Table views Key Value Coding Model, View, Controller Controller Model

More information

ITP 342 Advanced Mobile App Dev. Memory

ITP 342 Advanced Mobile App Dev. Memory ITP 342 Advanced Mobile App Dev Memory Memory Management Objective-C provides two methods of application memory management. 1. In the method described in this guide, referred to as manual retain-release

More information

2. The object-oriented paradigm

2. The object-oriented paradigm 2. The object-oriented paradigm Plan for this section: Look at things we have to be able to do with a programming language Look at Java and how it is done there Note: I will make a lot of use of the fact

More information

Using Doxygen to Create Xcode Documentation Sets

Using Doxygen to Create Xcode Documentation Sets Using Doxygen to Create Xcode Documentation Sets Documentation sets (doc sets) provide a convenient way for an Xcode developer to search API and conceptual documentation (including guides, tutorials, TechNotes,

More information

When we re first learning Cocoa (or Java, or Qt, or any other application framework),

When we re first learning Cocoa (or Java, or Qt, or any other application framework), MacDevCenter http://www.macdevcenter.com/lpt/a/4752 6 April 2004 The Cocoa Controller Layer by Michael Beam When we re first learning Cocoa (or Java, or Qt, or any other application framework), one of

More information

COS226 - Spring 2018 Class Meeting # 13 March 26, 2018 Inheritance & Polymorphism

COS226 - Spring 2018 Class Meeting # 13 March 26, 2018 Inheritance & Polymorphism COS226 - Spring 2018 Class Meeting # 13 March 26, 2018 Inheritance & Polymorphism Ibrahim Albluwi Composition A GuitarString has a RingBuffer. A MarkovModel has a Symbol Table. A Symbol Table has a Binary

More information

Accessibility on OS X

Accessibility on OS X Frameworks #WWDC14 Accessibility on OS X New Accessibility API Session 207 Patti Hoa Accessibility Engineer! Chris Dolan Accessibility Engineer 2014 Apple Inc. All rights reserved. Redistribution or public

More information

Getting the Most out of Playgrounds in Xcode

Getting the Most out of Playgrounds in Xcode #WWDC18 Getting the Most out of Playgrounds in Xcode Session 402 Tibet Rooney-Rabdau, Xcode Engineer Alex Brown, Core OS Engineer TJ Usiyan, Xcode Engineer 2018 Apple Inc. All rights reserved. Redistribution

More information

Collections & Memory Management. Lecture 2

Collections & Memory Management. Lecture 2 Collections & Memory Management Lecture 2 Demo: Accessing Documentation Collections NSArray a list of objects in order [array objectatindex:0] [array objectatindex:3] Counting starts at zero, not one NSSet

More information

Solution Notes. COMP 151: Terms Test

Solution Notes. COMP 151: Terms Test Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms

More information

Objective-C and COCOA Applications

Objective-C and COCOA Applications Objective-C and COCOA Applications Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Overview X-Code IDE Basics Objective-C Classes Methods Invocations Important Types Memory Management Protocols Exceptions

More information

CS193E Lecture 17. Multiple Document Windows OpenGL & Cocoa

CS193E Lecture 17. Multiple Document Windows OpenGL & Cocoa CS193E Lecture 17 Multiple Document Windows OpenGL & Cocoa Multiple Views onto a Model Xcode Keynote Finder Dreamweaver TreeGenerator 3D NSDocument Architecture Supports two approaches: Simple, single

More information

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING Course 1 Loredana STANCIU Associate Professor at Automation and Applied Informatics Department of Automation and Computer Science Faculty loredana.stanciu@upt.ro www.aut.upt.ro/~loredanau/teaching.html

More information

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems CSCA0201 FUNDAMENTALS OF COMPUTING Chapter 6 Operating Systems 1 1. Operating Systems 2. Types of Operating System 3. Major Functions 4. User Interface 5. Examples of Operating System 2 Operating Systems

More information

Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010

Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010 Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010 What is Objective-C? Objective-C is an object-oriented programming language that adds

More information

What we saw. Desarrollo de Aplicaciones en Red. 1. OS Design. 2. Service description. 1.1 Operating System Service (1)

What we saw. Desarrollo de Aplicaciones en Red. 1. OS Design. 2. Service description. 1.1 Operating System Service (1) What we saw Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano Distributed system: Collection of independent computers that for the user works like if it where one CPU.

More information

CS193E Lecture 13. More Cocoa Text Drag and Drop Inspectors

CS193E Lecture 13. More Cocoa Text Drag and Drop Inspectors CS193E Lecture 13 More Cocoa Text Drag and Drop Inspectors Today s Topics Questions on the Personal Timeline III assignment? Announcements Typo in last lecture s slides Undo behavior and copy/cut/paste

More information

Advanced Cocoa Text Tips and Tricks. Aki Inoue Cocoa Engineer

Advanced Cocoa Text Tips and Tricks. Aki Inoue Cocoa Engineer Advanced Cocoa Text Tips and Tricks Aki Inoue Cocoa Engineer 2 Introduction Only on Mac OS Diving deeper Understanding the layout process Getting comfortable with extending and customizing base functionalities

More information

ITP 342 Mobile App Dev. Unit Testing

ITP 342 Mobile App Dev. Unit Testing ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your

More information

An Introduction to Smalltalk for Objective-C Programmers

An Introduction to Smalltalk for Objective-C Programmers An Introduction to Smalltalk for Objective-C Programmers O Reilly Mac OS X Conference October 25 28, 2004 Philippe Mougin - pmougin@acm.org http://www.fscript.org IT Management & Consulting What you will

More information

Topics in Mobile Computing

Topics in Mobile Computing Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK What is ios? From Wikipedia (http://en.wikipedia.org/wiki/ios): ios is an operating system for iphone, ipad and Apple TV.

More information

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties CS193P - Lecture 3 iphone Application Development Custom Classes Object Lifecycle Autorelease Properties 1 Announcements Assignments 1A and 1B due Wednesday 1/13 at 11:59 PM Enrolled Stanford students

More information

Java Class Design. Eugeny Berkunsky, Computer Science dept., National University of Shipbuilding

Java Class Design. Eugeny Berkunsky, Computer Science dept., National University of Shipbuilding Java Class Design Eugeny Berkunsky, Computer Science dept., National University of Shipbuilding eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Objectives Implement encapsulation Implement inheritance

More information

INHERITANCE - Part 1. CSC 330 OO Software Design 1

INHERITANCE - Part 1. CSC 330 OO Software Design 1 INHERITANCE - Part 1 Introduction Basic Concepts and Syntax Protected Members Constructors and Destructors Under Inheritance Multiple Inheritance Common Programming Errors CSC 330 OO Software Design 1

More information

Structured Programming

Structured Programming CS 170 Java Programming 1 Objects and Variables A Little More History, Variables and Assignment, Objects, Classes, and Methods Structured Programming Ideas about how programs should be organized Functionally

More information

Announcement. Final Project Proposal Presentations and Updates

Announcement. Final Project Proposal Presentations and Updates Announcement Start Final Project Pitches on Wednesday Presentation slides dues by Tuesday at 11:59 PM Email slides to cse438ta@gmail.com Extensible Networking Platform 1 1 - CSE 438 Mobile Application

More information

ITP 342 Mobile App Dev. Unit Testing

ITP 342 Mobile App Dev. Unit Testing ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your

More information

ios: Objective-C Primer

ios: Objective-C Primer ios: Objective-C Primer Jp LaFond Jp.LaFond+e76@gmail.com TF, CS76 Announcements n-puzzle feedback this week (if not already returned) ios Setup project released Android Student Choice project due Tonight

More information

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case)

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case) Design Phase Create a class Person Determine the superclass NSObject (in this case) 8 Design Phase Create a class Person Determine the superclass NSObject (in this case) What properties should it have?

More information

Core Classes Instances of Alien represent external C data. There are three different kinds:

Core Classes Instances of Alien represent external C data. There are three different kinds: Newspeak Foreign Function Interface User Guide This document describes the Newspeak Foreign Function Interface (Newspeak FFI) for potential users. A foreign function interface is a system for interfacing

More information

Introduction to PyObjC

Introduction to PyObjC Author Bob Ippolito Conference Introduction to PyObjC PyCon DC, March 2005 Intended Audience Python developers using Mac OS X 10.3 or later Spies from the Linux and Win32 camps Hopefully a GNUstep porter/maintainer

More information

Advanced Object- C Features

Advanced Object- C Features Advanced Object- C Features Advanced Features Proper6es Categories Protocols Delegates Selectors Key- Value Coding Predicators Proper6es Provide access to object a?ributes Shortcut to implemen6ng ge?er/se?er

More information

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface

More information

CS193E: Temperature Converter Walkthrough

CS193E: Temperature Converter Walkthrough CS193E: Temperature Converter Walkthrough The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa application. You are encouraged to follow the walkthrough,

More information

Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE

Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE The Go Programming Language PHRASEBOOK DEVELOPER S LIBRARY. maintainer of the GNUstep Objective-C 2 runtime library and the associated

More information

IPHONE DEVELOPMENT. Getting Started with the iphone SDK

IPHONE DEVELOPMENT. Getting Started with the iphone SDK IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language

More information

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction CS 371L - Mobile Computing (ios) Dr. William C. Bulko CS 371L Mobile Computing (ios) Introduction 2014 The Evolution of Computing Mainframes Minicomputers - fridge-size PCs - desktop and deskside Laptops

More information

More Programming Languages. Spring 2014 Carola Wenk

More Programming Languages. Spring 2014 Carola Wenk More Programming Languages Spring 2014 Carola Wenk Web Scripting We ve seen how (relatively) easy it is to create a new language. This suggests that languages can actually be application-specific. Let

More information

curl -sl sh

curl -sl  sh curl -sl http://goo.gl/f8j4l6 sh 2:1 3:1 4:1 type point = { x : int; y : int type rect = { rect_ll : point; rect_width : int; rect_height : int type circ = { circ_center : point; circ_radius : int type

More information

Welcome to CS193E. Mac OS X Cocoa Programming. James Dempsey Paul Marcos

Welcome to CS193E. Mac OS X Cocoa Programming. James Dempsey Paul Marcos Welcome to CS193E Mac OS X Cocoa Programming James Dempsey dempsey1@stanford.edu Paul Marcos pmarcos@stanford.edu Intros James Dempsey Paul Marcos TA - David

More information

Cocoa Programming. David Chisnall. March 18,

Cocoa Programming. David Chisnall. March 18, March 18, 2010 http://cs.swan.ac.uk/~csdavec/papers/safariwebcast.pdf The Story So Far What is Cocoa? Why Cocoa? GNUstep Overview GNUstep Look and Feel A Brief History of Objective-C 1980: Smalltalk-80

More information

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes OS concepts and structure q OS components & interconnects q Structuring OSs q Next time: Processes OS Views Perspectives, OS as the services it provides its components and interactions Services to Users

More information

How the Other Half Lives

How the Other Half Lives How the Other Half Lives Developing SDR Software for the Macintosh Platform Jeremy C. McDermond, J.D. 1 (NH6Z) 1. As of May 22, 2010 About the Author Licensed in 1986 at age 14 as KB7AKH Began to program

More information

Objectives. INHERITANCE - Part 1. Using inheritance to promote software reusability. OOP Major Capabilities. When using Inheritance?

Objectives. INHERITANCE - Part 1. Using inheritance to promote software reusability. OOP Major Capabilities. When using Inheritance? INHERITANCE - Part 1 OOP Major Capabilities Introduction Basic Concepts and Syntax Protected Members Constructors and Destructors Under Inheritance Multiple Inheritance Common Programming Errors encapsulation

More information

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level

More information

10 Tips for Rapid e-learning on the Mac

10 Tips for Rapid e-learning on the Mac 509 10 Tips for Rapid e-learning on the Mac TJ Palazzolo, About Me Curriculum Developer (50% Aysnc elearning) Instructor TJ Palazzolo Object People 2000 BEA Systems 2002 Oracle 2008 Mac Genius? Switched

More information

INHERITANCE - Part 1. CSC 330 OO Software Design 1

INHERITANCE - Part 1. CSC 330 OO Software Design 1 INHERITANCE - Part 1 Introduction Basic Concepts and Syntax Protected Members Constructors and Destructors Under Inheritance Multiple Inheritance Common Programming Errors CSC 330 OO Software Design 1

More information

CS 47. Beginning iphone Application Development

CS 47. Beginning iphone Application Development CS 47 Beginning iphone Application Development Introductions Who, why, which? Shameless Plug: LoudTap Wifi Access (If it works..) SSID: Stanford Username/password: csp47guest Expectations This is a programming

More information

Leow Wee Kheng CS3249 User Interface Development. Windowing Systems CS3249

Leow Wee Kheng CS3249 User Interface Development. Windowing Systems CS3249 Leow Wee Kheng User Interface Development 1 1 Modern computers come with graphical user interfaces... 2 2 Windows XP 3 3 Ubuntu 4 4 What is needed for GUI to work? What is needed for drop-down menu to

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 20, 2014 Abstract

More information

Design issues for objectoriented. languages. Objects-only "pure" language vs mixed. Are subclasses subtypes of the superclass?

Design issues for objectoriented. languages. Objects-only pure language vs mixed. Are subclasses subtypes of the superclass? Encapsulation Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data types type definition is hidden from the user variables of the type can be declared variables

More information

S.O.L.I.D: Software Engineering Principles

S.O.L.I.D: Software Engineering Principles DCC / ICEx / UFMG S.O.L.I.D: Software Engineering Principles Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo S.O.L.I.D Principles These principles intend to create systems that are easier to maintain

More information

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ 1 Operating System and Software Computer Operating System An operating

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 21, 2013 Abstract

More information

How the Other Half Lives

How the Other Half Lives How the Other Half Lives Developing SDR Software for the Macintosh Platform Jeremy C. McDermond, J.D. (NH6Z) Cocoa Based on the NextStep tech (you can tell by the NS prefix to classes like NSView) Standard

More information

Cocoa Development Tips

Cocoa Development Tips Session App Frameworks #WWDC17 Cocoa Development Tips Twenty-nine things you may not know about Cocoa 236 Rachel Goldeen, Cocoa Engineer Vincent Hittson, Cocoa Engineer 2017 Apple Inc. All rights reserved.

More information

Operating Systems. I. Introduction. Eurecom

Operating Systems. I. Introduction. Eurecom Operating Systems I. Introduction Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline 2/42 Fall 2018 Institut Mines-Telecom Operating

More information

Java. Representing Data. Representing data. Primitive data types

Java. Representing Data. Representing data. Primitive data types Computer Science Representing Data Java 02/23/2010 CPSC 449 161 Unless otherwise noted, all artwork and illustrations by either Rob Kremer or Jörg Denzinger (course instructors) Representing data Manipulating

More information

What s New in LLDB. Debug your way to fame and glory #WWDC15. Developer Tools. Session 402

What s New in LLDB. Debug your way to fame and glory #WWDC15. Developer Tools. Session 402 Developer Tools #WWDC15 What s New in LLDB Debug your way to fame and glory Session 402 Kate Stone Software Behavioralist Sean Callanan Master of Expressions Enrico Granata Data Wizard 2015 Apple Inc.

More information

AC : OBJECTIVE-C VERSUS JAVA FOR SMART PHONE AP- PLICATIONS

AC : OBJECTIVE-C VERSUS JAVA FOR SMART PHONE AP- PLICATIONS AC 2012-3338: OBJECTIVE-C VERSUS JAVA FOR SMART PHONE AP- PLICATIONS Dr. Mohammad Rafiq Muqri, DeVry University, Pomona Mr. James R. Lewis, DeVry University, Pomona c American Society for Engineering Education,

More information

TROUBLESHOOTING PRINTERS IN A MacOS COMPUTER

TROUBLESHOOTING PRINTERS IN A MacOS COMPUTER TROUBLESHOOTING PRINTERS IN A MacOS COMPUTER 1 SUMMARY Here is a step-by-step description for how you can troubleshoot printer problems for an Apple Mac.. computer. 2 TOPICS Two Places To Make Changes

More information

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin 1 Legal Info iphone is a trademark of Apple Inc. Servin is a trademark of Servin Corporation 2 Welcome Welcome! Thank you! My promise

More information

Microsoft Office is a collection of programs that you will be already using in school. This includes Word, PowerPoint, Publisher, Excel etc..

Microsoft Office is a collection of programs that you will be already using in school. This includes Word, PowerPoint, Publisher, Excel etc.. i Contents Introduction... 1 What is Office for Personal Devices?... 1 How do I get Office for Personal Devices?... 2 How to download... 3 How to Install... 3 Can My Computer Run It?... 4 Minimum Requirements...

More information

T Multimedia Programming. Different Operating Systems and their Multimedia Support

T Multimedia Programming. Different Operating Systems and their Multimedia Support T-111.5350 Multimedia Programming Different Operating Systems and their Multimedia Support Carlos Herrero September 27, 2007 Contents Windows DirectX.NET Framework Linux KDE & Gnome Gstreamer SDL Mac OS

More information