CS193P - Lecture 11. iphone Application Development. Text Input Presenting Content Modally

Size: px
Start display at page:

Download "CS193P - Lecture 11. iphone Application Development. Text Input Presenting Content Modally"

Transcription

1 CS193P - Lecture 11 iphone Application Development Text Input Presenting Content Modally 1

2 Announcements 2

3 Announcements Paparazzi 3 assignment is due Wednesday 2/17 2

4 Announcements Paparazzi 3 assignment is due Wednesday 2/17 This Friday s extra session will feature Evan Doll 2

5 Today s Topics Threading Wrap-Up iphone Keyboards Customizing Text Input Presenting Content Modally 3

6 Alternatives to Threading 4

7 Alternatives to Threading Asynchronous (nonblocking) functions Specify target/action or delegate for callback NSURLConnection has synchronous and asynchronous variants 4

8 Alternatives to Threading Asynchronous (nonblocking) functions Specify target/action or delegate for callback NSURLConnection has synchronous and asynchronous variants Timers One-shot or recurring Specify a callback method Managed by the run loop 4

9 Alternatives to Threading Asynchronous (nonblocking) functions Specify target/action or delegate for callback NSURLConnection has synchronous and asynchronous variants Timers One-shot or recurring Specify a callback method Managed by the run loop Higher level constructs like operations 4

10 NSOperation Abstract superclass Manages thread creation and lifecycle Encapsulate a unit of work in an object Specify priorities and dependencies 5

11 Creating an NSOperation Subclass 6

12 Creating an NSOperation Subclass Define a custom init method - (id)initwithsomeobject:(id)someobject { self = [super init]; if (self) { self.someobject = someobject; } return self; } 6

13 Creating an NSOperation Subclass Define a custom init method - (id)initwithsomeobject:(id)someobject { self = [super init]; if (self) { self.someobject = someobject; } return self; } Override -main method to do work - (void)main { [someobject dolotsoftimeconsumingwork]; } 6

14 NSOperationQueue Operations are typically scheduled by adding to a queue Choose a maximum number of concurrent operations Queue runs operations based on priority and dependencies 7

15 Using an NSInvocationOperation Concrete subclass of NSOperation For lightweight tasks where creating a subclass is overkill 8

16 Using an NSInvocationOperation Concrete subclass of NSOperation For lightweight tasks where creating a subclass is overkill - (void)someaction:(id)sender { NSInvocationOperation *operation = [[NSInvocationOperation alloc] initwithtarget:self selector:@selector(dowork:) object:someobject]; [queue addobject:operation]; } [operation release]; 8

17 iphone Keyboards 9

18 Virtual keyboard Appears when needed 10

19 Virtual keyboard Appears when needed 11

20 12

21 13

22 Portrait and Landscape 13

23 Simple selection model Text loupe/magnifier 14

24 Many keyboard types Adapted to task 15

25 Many keyboard types Adapted to task 16

26 Many keyboard types Adapted to task 17

27 Many keyboard types Adapted to task 18

28 Many keyboard types Adapted to task 19

29 Many keyboard types Adapted to task 20

30 Single line editing 21

31 Multi-line editing 22

32 40 Languages 23

33 40 Languages Full dictionary support 23

34 English 24

35 French 25

36 Russian 26

37 Korean 27

38 Japanese Romaji 28

39 Japanese Kana 29

40 Chinese Pinyin 30

41 Chinese Handwriting Simplified Traditional 31

42 Customizing Text Input 32

43 Text Containers 33

44 Text Containers Delegates Notifications Methods 34

45 Text Containers Text Input Traits 35

46 Protocol Text Input Traits UITextField UITextView 36

47 Text Input Traits Autocapitalization Autocorrection Keyboard Type Keyboard Appearance Return Key Type Return Key Autoenabling Secure Text Entry 37

48 Text Input Traits URL Keyboard Go button 38

49 Text Input Traits Default Keyboard Google button 39

50 Text Containers Text Input Traits Delegates Notifications Methods 40

51 Text Containers 41

52 UITextField Design time 42

53 UITextField URL Keyboard Go button Design time 43

54 UITextField URL Keyboard Go button Run time 44

55 UITextField URL Keyboard Go button Become first responder 45

56 Keyboard UITextField URL Keyboard Go button Become first responder 45

57 Keyboard UITextField URL Keyboard Go button Become first responder 46

58 Keyboard UITextField URL Keyboard Go button Become first responder 46

59 Keyboard UITextField URL Keyboard Go button Keyboard adopts traits 47

60 Keyboard URL Keyboard Go button UITextField URL Keyboard Go button Keyboard adopts traits 47

61 UITextField Text Containers UITextView Web Forms 48

62 Demo: Text Input 49

63 Presenting Content Modally 50

64 Presenting Content Modally For adding or picking data 51

65 Presenting Content Modally For adding or picking data 51

66 Presenting Content Modally For adding or picking data 51

67 Presenting a View Controller 52

68 Presenting a View Controller // Recipe list view controller - (void)showaddrecipe { RecipeAddViewController *viewcontroller =...; [self presentmodalviewcontroller:viewcontroller animated:yes]; } 52

69 Presenting a View Controller // Recipe list view controller - (void)showaddrecipe { RecipeAddViewController *viewcontroller =...; [self presentmodalviewcontroller:viewcontroller animated:yes]; } 52

70 Dismissing a View Controller 53

71 Dismissing a View Controller // Recipe list view controller - (void)didaddrecipe { [self dismissmodalviewcontrolleranimated:yes]; } 53

72 Dismissing a View Controller // Recipe list view controller - (void)didaddrecipe { [self dismissmodalviewcontrolleranimated:yes]; } 53

73 Separate Navigation Stacks 54

74 Separate Navigation Stacks 54

75 Separate Navigation Stacks 54

76 Separate Navigation Stacks 54

77 Separate Navigation Stacks 54

78 Dismissing a Modal View Controller 55

79 Dismissing a Modal View Controller Who should do it? 55

80 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss 55

81 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller 55

82 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done 55

83 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss 55

84 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss Parent Controller 55

85 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss Parent Controller Present Child Controller 55

86 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss Parent Controller Child Controller I m done! 55

87 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss Parent Controller Dismiss Child Controller 55

88 Dismissing a Modal View Controller Who should do it? Best practice is for the same object to call present and dismiss Define delegate methods for the presented controller Tell the delegate when the presented controller is done The delegate makes the call to dismiss Parent Controller 55

89 Demo: Presenting Content Modally 56

90 Questions? 57

Announcements. Paparazzi 3 assignment is due Wednesday 2/17 This Friday s extra session will feature Evan Doll

Announcements. Paparazzi 3 assignment is due Wednesday 2/17 This Friday s extra session will feature Evan Doll CS193P - Lecture 11 iphone Application Development Text Input Presenting Content Modally 1 Announcements Paparazzi 3 assignment is due Wednesday 2/17 This Friday s extra session will feature Evan Doll

More information

CS193P - Lecture 11. iphone Application Development. Text Input Presenting Content Modally

CS193P - Lecture 11. iphone Application Development. Text Input Presenting Content Modally CS193P - Lecture 11 iphone Application Development Text Input Presenting Content Modally Announcements Presence 3 assignment has been posted, due Tuesday 5/12 Final project proposals due on Monday 5/11

More information

CS193P - Lecture 10. iphone Application Development. Performance

CS193P - Lecture 10. iphone Application Development. Performance CS193P - Lecture 10 iphone Application Development Performance 1 Announcements 2 Announcements Paparazzi 2 is due next Wednesday at 11:59pm 2 Announcements Paparazzi 2 is due next Wednesday at 11:59pm

More information

Mobile Application Development

Mobile Application Development Object Lifecycle Mobile Application Development Creating objects Memory management Destroying objects Basic ios Development 11-Nov-11 Mobile App Development 1 11/11/11 2 Object Creation Two step process

More information

A little more Core Data

A little more Core Data A little more Core Data A little more Core Data NSFetchedResultsController Interacts with the Core Data database on your behalf [fetchedresultscontroller objectatindexpath:] gets at row data [fetchedresultscontroller

More information

CS193P - Lecture 7. iphone Application Development. Navigation & Tab Bar Controllers

CS193P - Lecture 7. iphone Application Development. Navigation & Tab Bar Controllers CS193P - Lecture 7 iphone Application Development Navigation & Tab Bar Controllers 1 Announcements Assignment 3 is due tomorrow Paparazzi 1 is due on Wednesday February 3rd 2 Today s Topics Navigation

More information

Types of Views. View category Purpose Examples of views. Display a particular type of content, such as an image or text.

Types of Views. View category Purpose Examples of views. Display a particular type of content, such as an image or text. ios UI Components Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Types of Views View

More information

CS193P - Lecture 13. iphone Application Development. Address Book - Putting People in Your App

CS193P - Lecture 13. iphone Application Development. Address Book - Putting People in Your App CS193P - Lecture 13 iphone Application Development Address Book - Putting People in Your App 1 Announcements Paparazzi 3 due tomorrow at 11:59PM Paparazzi 4 (last assignment!) due next Wednesday 2 Final

More information

Concurrency. CS 442: Mobile App Development Michael Saelee

Concurrency. CS 442: Mobile App Development Michael Saelee Concurrency CS 442: Mobile App Development Michael Saelee note: ios devices are now (mostly) multi-core; i.e., concurrency may allow for real performance gains! but the more common incentive

More information

Threads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018

Threads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018 Threads and Too Much Milk! CS439: Principles of Computer Systems January 31, 2018 Last Time CPU Scheduling discussed the possible policies the scheduler may use to choose the next process (or thread!)

More information

ios Application Development Course Details

ios Application Development Course Details ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery

More information

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code

More information

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5. Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3

More information

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall Stanford Developing Applications for ios Today Emoji Art Demo continued UITextField Editable text input control Demo: Add a text field to Emoji Art Demo Emoji Art Make our Emoji Art scrollable/zoomable/centered

More information

Computer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers

Computer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers Computer Science 251 iphone Application Development Autorotation, Popover Controllers, Modal Controllers Two Types of Orientation Device: physically upside down, rotated left, on its back, etc. Can be

More information

User Experience: Windows & Views

User Experience: Windows & Views View Controller Programming Guide for ios User Experience: Windows & Views 2011-01-07 Apple Inc. 2011 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval

More information

Agent Console. The Agent Console. The topics in this section provide information about the Agent Console.

Agent Console. The Agent Console. The topics in this section provide information about the Agent Console. Agent Console The topics in this section provide information about the Agent Console. The Agent Console The agent logs into the workstation The agent is automatically logged in to Intradiem; the Agent

More information

Polymorphism 2/12/2018. Which statement is correct about overriding private methods in the super class?

Polymorphism 2/12/2018. Which statement is correct about overriding private methods in the super class? Which statement is correct about overriding private methods in the super class? Peer Instruction Polymorphism Please select the single correct answer. A. Any derived class can override private methods

More information

UI Design and Storyboarding

UI Design and Storyboarding UI Design and Storyboarding Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Model-View-Controller

More information

Address Book for iphone

Address Book for iphone Address Book for iphone The people s framework Alexandre Aybes iphone Software Engineer 2 3 Address Book for iphone The people s framework Alexandre Aybes iphone Software Engineer 4 What We Will Cover

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 2 is due tonight by 11:59 PM Late policy is 10% of lab total per day late So -7.5 points per day late for lab 2 Labs 3 and 4 are posted on the course website Extensible Networking Platform

More information

ParentVUE for Secondary Students

ParentVUE for Secondary Students What is ParentVUE? ParentVue is a web portal that allows parents and guardians to access real-time information related to their students. Parents/guardians can view their student's calendars, attendance,

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Monitors vs. Semaphores Monitors: Custom user-defined conditions Developer must control access to variables Semaphores: Access

More information

Process Characteristics

Process Characteristics Threads 1 Chapter 4 2 Process Characteristics We ve mentioned a process as having two characteristics Unit of resource ownership: processes have their own dedicated memory address space processes temporarily

More information

CMSC201 Computer Science I for Majors

CMSC201 Computer Science I for Majors CMSC201 Computer Science I for Majors Lecture 25 Classes All materials copyright UMBC and Dr. Katherine Gibson unless otherwise noted Run time Last Class We Covered Run time of different algorithms Selection,

More information

CS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views

CS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views CS193P - Lecture 8 iphone Application Development Scroll Views & Table Views Announcements Presence 1 due tomorrow (4/28)! Questions? Presence 2 due next Tuesday (5/5) Announcements Enrolled students who

More information

Designing iphone Applications

Designing iphone Applications Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Outline o Process concept o Process creation o Process states and scheduling o Preemption and context switch o Inter-process communication

More information

3.1 Introduction. Computers perform operations concurrently

3.1 Introduction. Computers perform operations concurrently PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 2 is due tonight Lab 3 is posted Due next Wednesday Sept 30 th 1 Extensible - CSE 436 Software Networking Engineering Platform Workshop 1 Today s Topics Designing iphone Applica;ons Model-

More information

Introducing Password AutoFill for Apps

Introducing Password AutoFill for Apps Session App Frameworks #WWDC17 Introducing Password AutoFill for Apps Reducing friction for your users 206 Ricky Mondello, ios Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display

More information

How to Use the Student Emergency Contact Verification Workflow

How to Use the Student Emergency Contact Verification Workflow How to Use the Student Emergency Contact Verification Workflow The Student Emergency Contact Verification Workflow is an electronic process by which you can: 1. Update information on your child s existing

More information

View Controller Advancements for ios8

View Controller Advancements for ios8 Frameworks #WWDC14 View Controller Advancements for ios8 Session 214 Bruce D. Nilo Manager, UIKit Fundamentals 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without

More information

Threads Implementation. Jo, Heeseung

Threads Implementation. Jo, Heeseung Threads Implementation Jo, Heeseung Today's Topics How to implement threads? User-level threads Kernel-level threads Threading models 2 Kernel/User-level Threads Who is responsible for creating/managing

More information

Arvind Krishnamurthy Spring Threads, synchronization, scheduling Virtual memory File systems Networking

Arvind Krishnamurthy Spring Threads, synchronization, scheduling Virtual memory File systems Networking Concurrency Arvind Krishnamurthy Spring 2004 Today s lecture Semester roughly divided into: Threads, synchronization, scheduling Virtual memory File systems Networking Next 2.5 weeks: threads and synchronization

More information

Process. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission

Process. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,

More information

Object-Interaction Diagrams: Sequence Diagrams UML

Object-Interaction Diagrams: Sequence Diagrams UML Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!   We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 0B0-105 Title : BEA8.1 Certified Architect:Enterprise Architecture Vendors

More information

CSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 Overview Objective: Explore the structure of an operating system

More information

Threads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019

Threads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019 Threads and Too Much Milk! CS439: Principles of Computer Systems February 6, 2019 Bringing It Together OS has three hats: What are they? Processes help with one? two? three? of those hats OS protects itself

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements We will discuss final project ideas on Monday Three guest presenters coming to class Lab 5 is due on Wednesday Nov 4 th 1 Extensible - CSE 436 Software Networking Engineering Platform Workshop

More information

CIS233J Java Programming II. Threads

CIS233J Java Programming II. Threads CIS233J Java Programming II Threads Introduction The purpose of this document is to introduce the basic concepts about threads (also know as concurrency.) Definition of a Thread A thread is a single sequential

More information

Chapter 3: Processes. Operating System Concepts 8th Edition,

Chapter 3: Processes. Operating System Concepts 8th Edition, Chapter 3: Processes, Administrivia Friday: lab day. For Monday: Read Chapter 4. Written assignment due Wednesday, Feb. 25 see web site. 3.2 Outline What is a process? How is a process represented? Process

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Lecture 15: I/O Devices & Drivers

Lecture 15: I/O Devices & Drivers CS 422/522 Design & Implementation of Operating Systems Lecture 15: I/O Devices & Drivers Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions

More information

Using and Extending the Xcode Source Editor

Using and Extending the Xcode Source Editor Developer Tools #WWDC16 Using and Extending the Xcode Source Editor Session 414 Mike Swingler Xcode Infrastructure and Editors Chris Hanson Xcode Infrastructure and Editors 2016 Apple Inc. All rights reserved.

More information

DAS User Guide. December 1, 2017 Version 2.4

DAS User Guide. December 1, 2017 Version 2.4 DAS User Guide December 1, 2017 Version 2.4 DAS User Guide 2 CONTENTS About DAS... 3 Participating Offices... 3 Documents Which Can Be Made Available... 3 Overview of DAS Use... 4 DAS and the PCT... 5

More information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement. CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.

More information

Operating Systems: Internals and Design Principles. Chapter 4 Threads Seventh Edition By William Stallings

Operating Systems: Internals and Design Principles. Chapter 4 Threads Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Chapter 4 Threads Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The basic idea is that the several components

More information

View Controllers CPRE 388

View Controllers CPRE 388 View Controllers CPRE 388 View Controllers Manage views in model view controller design template. Many types: custom view controller; container view controller; modal view controller. Custom View controllers

More information

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process

More information

MVC & Onwards. CS 442: Mobile App Development Michael Saelee

MVC & Onwards. CS 442: Mobile App Development Michael Saelee MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple

More information

Operating System Design

Operating System Design Operating System Design Processes Operations Inter Process Communication (IPC) Neda Nasiriani Fall 2018 1 Process 2 Process Lifecycle 3 What information is needed? If you want to design a scheduler to

More information

Why Model-View-Controller?

Why Model-View-Controller? View Controllers Why Model-View-Controller? Ever used the word spaghetti to describe code? Clear responsibilities make things easier to maintain Avoid having one monster class that does everything Why

More information

Interoperation of tasks

Interoperation of tasks Operating systems (vimia219) Interoperation of tasks Tamás Kovácsházy, PhD 4 th topic, Implementation of tasks, processes and threads Budapest University of Technology and Economics Department of Measurement

More information

Chapter 4: Multithreaded Programming

Chapter 4: Multithreaded Programming Chapter 4: Multithreaded Programming Silberschatz, Galvin and Gagne 2013! Chapter 4: Multithreaded Programming Overview Multicore Programming Multithreading Models Threading Issues Operating System Examples

More information

Chapter 4: Threads. Operating System Concepts 9 th Edit9on

Chapter 4: Threads. Operating System Concepts 9 th Edit9on Chapter 4: Threads Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads 1. Overview 2. Multicore Programming 3. Multithreading Models 4. Thread Libraries 5. Implicit

More information

Operating Systems 2 nd semester 2016/2017. Chapter 4: Threads

Operating Systems 2 nd semester 2016/2017. Chapter 4: Threads Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition

More information

Process Concept. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.

Process Concept. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University. Process Concept Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered Process Concept Definition, states, PCB Process Scheduling Scheduling queues,

More information

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved.

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved. Structuring an App App Development Process (page 30) Designing a User Interface (page 36) Defining the Interaction (page 42) Tutorial: Storyboards (page 47) 29 App Development Process Although the task

More information

518 Lecture Notes Week 3

518 Lecture Notes Week 3 518 Lecture Notes Week 3 (Sept. 15, 2014) 1/8 518 Lecture Notes Week 3 1 Topics Process management Process creation with fork() Overlaying an existing process with exec Notes on Lab 3 2 Process management

More information

Concurrency User Guide

Concurrency User Guide Concurrency User Guide Release 1.0 Dylan Hackers January 26, 2019 CONTENTS 1 Basic Abstractions 3 1.1 Executors................................................. 3 1.2 Queues..................................................

More information

Threads Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Threads Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Threads Implementation Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics How to implement threads? User-level threads Kernel-level

More information

Computer Systems II. First Two Major Computer System Evolution Steps

Computer Systems II. First Two Major Computer System Evolution Steps Computer Systems II Introduction to Processes 1 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent processes) 2 1 At First (1945 1955) In the beginning,

More information

Process Description and Control

Process Description and Control Process Description and Control B.Ramamurthy 1/28/02 B.Ramamurthy 1 Introduction The fundamental task of any operating system is process management. OS must allocate resources to processes, enable sharing

More information

CSC148 Intro. to Computer Science

CSC148 Intro. to Computer Science CSC148 Intro. to Computer Science Lecture 4: Container implementation, Unit Test, Balanced Parentheses, Intro to Linked Lists Amir H. Chinaei, Summer 2016 Office Hours: R 10-12 BA4222 ahchinaei@cs.toronto.edu

More information

Kevin van Vechten Core OS

Kevin van Vechten Core OS Kevin van Vechten Core OS 2 3 Bill Bumgarner 4 (lambda (a) (add a d)) 10 timesrepeat:[pen turn:d; draw] z.each { val puts(val + d.to_s)} repeat(10, ^{ putc('0'+ d); }); 5 6 7 8 ^ 9 [myset objectspassingtest:

More information

CS193p Spring 2010 Thursday, April 29, 2010

CS193p Spring 2010 Thursday, April 29, 2010 CS193p Spring 2010 Announcements You should have received an e-mail by now If you received e-mail approving enrollment, but are not in Axess, do it! If you have any questions, please ask via e-mail or

More information

https://www.eclipse.org/efxclipse/install.html#for-the-lazy

https://www.eclipse.org/efxclipse/install.html#for-the-lazy CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Lecture 4: Getting Started with Java FX Wednesday, January 30 th and February 1 st sarec.nd.edu/courses/se2017 Department of Computer Science

More information

Problem Set: Processes

Problem Set: Processes Lecture Notes on Operating Systems Problem Set: Processes 1. Answer yes/no, and provide a brief explanation. (a) Can two processes be concurrently executing the same program executable? (b) Can two running

More information

ITP 342 Mobile App Dev

ITP 342 Mobile App Dev ITP 342 Mobile App Dev REST Representational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web Conforming to the REST constraints is

More information

Announcements Processes: Part II. Operating Systems. Autumn CS4023

Announcements Processes: Part II. Operating Systems. Autumn CS4023 Operating Systems Autumn 2018-2019 Outline Announcements 1 Announcements 2 Announcements Week04 lab: handin -m cs4023 -p w04 ICT session: Introduction to C programming Outline Announcements 1 Announcements

More information

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries 1 CONTENTS 1. Introduction to Java 2. Holding Data 3. Controllin g the f l o w 4. Object Oriented Programming Concepts 5. Inheritance & Packaging 6. Handling Error/Exceptions 7. Handling Strings 8. Threads

More information

Design Patterns Design patterns advantages:

Design Patterns Design patterns advantages: Design Patterns Designing object-oriented software is hard, and designing reusable object oriented software is even harder. You must find pertinent objects factor them into classes at the right granularity

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo I/O AND DEVICE HANDLING 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) I/O Hardware Incredible variety of I/O devices Common concepts Port Bus (daisy chain or shared direct access) Controller

More information

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011 Developing Applications for ios Today UI Element of the Week UIToolbar ipad Split View Popover Universal (iphone + ipad) Application Demo Friday Section AVFoundation framework - Capturing and manipulating

More information

CS 450 Operating System Week 4 Lecture Notes

CS 450 Operating System Week 4 Lecture Notes CS 450 Operating System Week 4 Lecture Notes Reading: Operating System Concepts (7 th Edition) - Silberschatz, Galvin, Gagne Chapter 5 - Pages 129 147 Objectives: 1. Explain the main Objective of Threads

More information

How to create and use your Portal account

How to create and use your Portal account How to create and use your Portal account How do I set up my Parent Portal account for the first time? 2 I don t have an email address. 3 I don t have my student s Access ID or Access Password. 3 I didn

More information

Processes. Processes and Process Management. What is a Process? What is a Process? What is a Process? Program Process

Processes. Processes and Process Management. What is a Process? What is a Process? What is a Process? Program Process Processes and Process Management Processes multiple jobs may be active at the same time each job may be a different running program PROCESS Definition: A process is a sequence of actions resulting form

More information

Creating Content with iad JS

Creating Content with iad JS Creating Content with iad JS Part 2 The iad JS Framework Antoine Quint iad JS Software Engineer ios Apps and Frameworks 2 Agenda Motivations and Features of iad JS Core JavaScript Enhancements Working

More information

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Lecture 3: Processes Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Process in General 3.3 Process Concept Process is an active program in execution; process

More information

SELF-STUDY. Glossary

SELF-STUDY. Glossary SELF-STUDY 231 Glossary HTML (Hyper Text Markup Language - the language used to code web pages) tags used to embed an applet. abstract A class or method that is incompletely defined,

More information

eschooldata Mobile Parent User Guide v

eschooldata Mobile Parent User Guide v eschooldata Mobile Parent User Guide v. 5.5.0 Copyright 2002-2017 eschooldata, LLC All rights reserved. TABLE OF CONTENTS Overview... 3 Logging In... 3 Mobile App: Login Credentials...3 Mobile Web: Login

More information

Big Java Late Objects

Big Java Late Objects Big Java Late Objects Horstmann, Cay S. ISBN-13: 9781118087886 Table of Contents 1. Introduction 1.1 Computer Programs 1.2 The Anatomy of a Computer 1.3 The Java Programming Language 1.4 Becoming Familiar

More information

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015 Stanford CS193p Developing Applications for ios Today UITextField Bonus Topic! Table View A UIView for displaying long lists or tables of data UITextField Like UILabel, but editable Typing things in on

More information

Device Partner Center

Device Partner Center Device Partner Center DPC Upgrade Guide We have made enhancements to the frontend and backend infrastructure of DPC that has enabled us to build to the long-term vision of one Microsoft Partner Experience

More information

THIS COMPLIANCE AND CERTIFICATION PROGRAM FOR ALLJOYN CERTIFIED PROGRAM MANAGEMENT DOCUMENT VERSION 4.0 (AND ALL PRIOR VERSIONS) AND ALL REFERENCED

THIS COMPLIANCE AND CERTIFICATION PROGRAM FOR ALLJOYN CERTIFIED PROGRAM MANAGEMENT DOCUMENT VERSION 4.0 (AND ALL PRIOR VERSIONS) AND ALL REFERENCED THIS COMPLIANCE AND CERTIFICATION PROGRAM FOR ALLJOYN CERTIFIED PROGRAM MANAGEMENT DOCUMENT VERSION 4.0 (AND ALL PRIOR VERSIONS) AND ALL REFERENCED TEST CASES AND DOCUMENTATION WERE COMPLETED PRIOR TO

More information

Event-driven Programming: GUIs

Event-driven Programming: GUIs Dr. Sarah Abraham University of Texas at Austin Computer Science Department Event-driven Programming: GUIs Elements of Graphics CS324e Spring 2018 Event-driven Programming Programming model where code

More information

Cisco Unified Attendant Console Department Edition

Cisco Unified Attendant Console Department Edition Data Sheet Cisco Unified Attendant Console Department Edition Version 9.1 Cisco Unified Attendant Consoles are client-server applications that enable operators and receptionists to answer and quickly dispatch

More information

Lecture 4: Process Management

Lecture 4: Process Management Lecture 4: Process Management (Chapters 2-3) Process: execution context of running program. A process does not equal a program! Process is an instance of a program Many copies of same program can be running

More information

CSC 4320 Test 1 Spring 2017

CSC 4320 Test 1 Spring 2017 CSC 4320 Test 1 Spring 2017 Name 1. What are the three main purposes of an operating system? 2. Which of the following instructions should be privileged? a. Set value of timer. b. Read the clock. c. Clear

More information

Cisco Jabber IM for iphone

Cisco Jabber IM for iphone Data Sheet Cisco Jabber IM for iphone Cisco Collaboration Solutions improve team and customer experiences to help organizations encourage innovation and improve decision making while building trust and

More information

EINDHOVEN UNIVERSITY OF TECHNOLOGY

EINDHOVEN UNIVERSITY OF TECHNOLOGY EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)

More information

Moodle 2.2 Student User Guide Accessing & Saving Files

Moodle 2.2 Student User Guide Accessing & Saving Files Moodle 2.2 Student User Guide Accessing & Saving Files Using the Course Outline The Course Outline can be in Topic format or in Week format, depending on how your instructor sets up their course. These

More information

Process Description and Control

Process Description and Control Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message. What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to

More information

آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI

آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI Information Technology Department Operating System (IT413) 2017-1396 Chapter 4: Process & Thread Contents: What Is a Process? Relationships between Processes

More information

Processes. Sanzheng Qiao. December, Department of Computing and Software

Processes. Sanzheng Qiao. December, Department of Computing and Software Processes Sanzheng Qiao Department of Computing and Software December, 2012 What is a process? The notion of process is an abstraction. It has been given many definitions. Program in execution is the most

More information

Cisco Unified Attendant Console Business Edition Version 9.1

Cisco Unified Attendant Console Business Edition Version 9.1 Data Sheet Cisco Unified Attendant Console Business Edition Version 9.1 Cisco Unified Attendant Consoles are client-server applications that enable operators and receptionists to answer and quickly dispatch

More information