CSCI1600: Embedded and Real Time Software

Slides:



Advertisements
Similar presentations
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Advertisements

Operating Systems CS451 Brian Bershad
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
1/23/2008CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
MATH 310, FALL 2003 (Combinatorial Problem Solving) MoWeFr 1:20 McGregory 214.
Computer Science 10: Introduction to Computer Science Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
ENG3640 Micro Computer Interfacing General Information Handout Fall 2012, September 7 th ENG3640 Fall
Fall 2015 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 25,
Fall 2011 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 30,
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 2: Introduction Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Steven Reiss Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 6: Modeling I: Continuous Systems Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 9: Input Output Concepts Steven Reiss, Fall 2015.
Future Lock Security Group Member Nguy ễ n V ă n Tuy ề n – SE02119 Vũ Ng ọ c Linh – Vũ V ă n An – SE02207 Supervisor Hoàng Xuân S ơ n Project Code.
CSCI1600: Embedded and Real Time Software Lecture 10: Modeling IV: Compositions of State Machines Steven Reiss, Fall 2015.
Course Introduction CSSE 332 Operating Systems Rose-Hulman Institute of Technology.
ENG3380 Computer Organization
Computer Applications
Welcome to CSE 502 Introduction.
Distributed Operating Systems Spring 2004
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Course Information EECS 2031 – Section A Fall 2017.
Software Engineering Management
Final exam: Wednesday, March 20, 2:30pm
ECE Electrical and Electronic Circuits Course Overview
Course Introduction CSSE 332 Operating Systems
Object-Oriented Programming
Computer Science 102 Data Structures CSCI-UA
Logic and Computer Design Fundamentals
Operating Systems and Systems Programming
Course Information and Introductions
Lecture Note 0: Course Introduction
Comp 541 Wrap Up! Montek Singh Apr 27, 2018.
cs3724: Introduction to HCI
CSCI1600: Embedded and Real Time Software
Welcome to COE212: Engineering Programming
EECE 310 Software Engineering
Foundations of Programming Languages – Course Overview
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CGS 3763 Operating Systems Concepts Spring 2013
CGS 3763 Operating Systems Concepts Spring 2013
CET360 Microprocessor Engineering: Course Intro
CSCI1600: Embedded and Real Time Software
ENG3380 Computer Organization
Information Technology
MIS323 Business Telecommunications
CSCI1600: Embedded and Real Time Software
Embedded System Development Lecture 1 1/10/2007
Automata and Formal Languages
Principles of Programming Languages
Introduction to Operating Systems
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Course Information EECS 2031 Fall 2016.
Welcome to: CSC225 Introduction to Computer Organization
Welcome to CSE 502 Introduction.
Lecture Note 0: Course Introduction
CSE 451: Operating Systems Winter 2007 Module 1 Course Introduction
CSCI1600: Embedded and Real Time Software
COT 4600 Operating Systems Fall 2009
Sarah Diesburg Operating Systems CS 3430
CGS 3763 Operating Systems Concepts Spring 2013
ELEC / Computer Architecture and Design Fall 2014 Introduction
CSCI1600: Embedded and Real Time Software
Presentation transcript:

CSCI1600: Embedded and Real Time Software Lecture 1: Course Introduction Steven Reiss, Fall 2017 Lecture 1: Course introduction 12/1/2018

What is CSCI1600 Purpose: Teach how to build and program embedded and real time systems. What is an embedded system What is a real time system Lecture 1: Course introduction 12/1/2018

Why are these important Everything today has embedded processors How many CPUs are in a modern car? Other examples Lecture 1: Course introduction 12/1/2018

What are the differences Traditional User interfaces & usability Flexibility Performance Maintainability Expected time Data oriented Timing unimportant Amortized cost Software Design RT/Embedded Emphasis on I/O Predictability Reliability Fault tolerance Worst case time Control-oriented Timing essential Minimize cost Hardware-Software co-design Don’t get into details of RT/E systems. Save that for next time. Lecture 1: Course introduction 12/1/2018

The Course Learn the underlying concepts Learn the underlying theory Writing embedded and real time code Experimenting with real hardware An interesting project of your choice Lecture 1: Course introduction 12/1/2018

Practical Underpinnings Micro-processor architectures Low-level input/output Real-time data and control structures Real-time operating systems Interprocess communication Security Lecture 1: Course introduction 12/1/2018

Theoretical Underpinnings Automata-based modeling Continuous, real-time Discrete, hierarchical, concurrent Real-time scheduling Verification Worst-case execution time Lecture 1: Course introduction 12/1/2018

Skills Circuit understanding (and design) Building patch-board circuits Soldering, debugging Real-time and embedded coding Lecture 1: Course introduction 12/1/2018

Course Mechanics Staff Assignments Readings Written homeworks Project SPR Office hours (MTh 12-2) Assignments Programming/hardware homeworks One embedded, one real-time Readings Text: Lee & Seshia: Intro to Embedded Systems (2.2 edition) http://leeseshia.org Written homeworks Project Take-home Final Exam Lecture 1: Course introduction 12/1/2018

Grading 20% for each programming homework 30% for final project 20% for homeworks, participation, etc. 10% for final exam Lecture 1: Course introduction 12/1/2018

Project Monday 9/11: Short presentation of ideas Monday 9/18: Initial project idea hand-in w/ budget Monday 9/25: Final project idea hand-in w/ budget Monday 10/23: Project description hand-in Wednesday 10/25: Project design presentations Monday 11/20: Implementation status reports Wednesday 12/6: Project presentations Monday 12/11: Project final hand-in Lecture 1: Course introduction 12/1/2018

Project Ideas THEME: Smart-Home (Office, Building, …) You are more creative than I am Pinball Smart clothing Robotics Research Project Something you always needed Lecture 1: Course introduction 12/1/2018

Hardware We are using Arduino Unos for homeworks For final projects Purchase your own (we have some to lend) We will get a shopping list of parts needed We will supply incidentals For final projects Buy yourself and keep Brown buys and you return We will supply incidentals if we have them Lecture 1: Course introduction 12/1/2018

Questions Lecture 1: Course introduction 12/1/2018

Assignment Read chapter 1 Take a common device in your life Describe what the embedded software does and how it might work You don’t have to be accurate – I’d rather you think about how you might accomplish what it does rather than looking up what it really does How does a toaster work? Be prepared to discuss Lecture 1: Course introduction 12/1/2018