CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

Similar documents
CS 241 Data Organization using C

EECE 321: Computer Organization

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Review Topics. parameter passing, memory model)

CS 241 Data Organization. August 21, 2018

CS120 Computer Science I. Instructor: Jia Song

ESET 349 Microcontroller Architecture, Fall 2018

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

CS270 Computer Organization Fall 2017

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CISC 124: Introduction To Computing Science II

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Course Administration

CNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description

CMSC 132: Object-Oriented Programming II. Administrivia

Avi Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concept, McGraw- Hill, ISBN , 6th edition.

ESET 369 Embedded Systems Software, Fall 2017

CMPE 152 Compiler Design

CSCE 206: Structured Programming in C

You must pass the final exam to pass the course.

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

Course Outline. TERM EFFECTIVE: Spring 2016 CURRICULUM APPROVAL DATE: 10/12/2015

CS/SE 153 Concepts of Compiler Design

Introduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C

EECE.2160: ECE Application Programming Spring 2017

CSCI 6312 Advanced Internet Programming

CS 200: Computer Organization

FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018

CS 0449 Intro to Systems Software Fall Term: 2181

Midterm Exam Review. CS 2420 :: Fall 2016 Molly O'Neil

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

JOHNSON COUNTY COMMUNITY COLLEGE COURSE SYLLABUS WEB CRN Web Scripting: JavaScript I

CS 3030 Scripting Languages Syllabus

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

ISM 324: Information Systems Security Spring 2014

CMPE 152 Compiler Design

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

CMPE 152 Compiler Design

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

INFS 2150 (Section A) Fall 2018

ITP489 In-Memory DBMS for Real Time Analytics

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Introduction to Web Design & Computer Principles

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

CS 3030 Scripting Languages Syllabus

EECE.2160: ECE Application Programming Spring 2019

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

School of Computer Science

ECE Object-Oriented Programming using C++ and Java

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II

CSC 1052 Algorithms & Data Structures II: Introduction

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

CSE 504: Compiler Design

CIS 408 Internet Computing (3-0-3)

CSCI 201L Syllabus Principles of Software Development Spring 2018

C Sc 275 Advanced Data Communications, Spring 2008 (TR 4-5:15p; LIB 128)

Data Structures and OO Development II

COMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University

Computer Science Department

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

GET 433 Course Syllabus Spring 2017

Additionally, if you are ing me please place the name of the course in the subject of the .

CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

CIS 101 Orientation Document Fall 2017

ISATI 231: Windows Client (4 credits) Spring 2018 Mon, Tue, Wed, Thu, 13:10-14:40, MTB 105

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

Lecture 1: Overview & Intro to Java

Course and Contact Information. Course Description. Course Objectives

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

COURSE WEB SITE CONNECT

CMPSCI 145 MIDTERM #1 Solution Key. SPRING 2017 March 3, 2017 Professor William T. Verts

CSc 2310 Principles of Programming (Java) Jyoti Islam

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

CS/SE 153 Concepts of Compiler Design

ECE573 Introduction to Compilers & Translators

ESET 369 Embedded Systems Software, Spring 2018

Fundamentals of Digital System Design ECE 3700, CPSC 3700

Internet Web Technologies ITP 104 (2 Units)

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Computer Science 1321 Course Syllabus

Web Programming Fall 2011

Introduction to Data Structures

Cleveland State University

CS503 Advanced Programming I CS305 Computer Algorithms I

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

CARTO UNIVERSITY GROUP. Syllabus GEO 445/545 Computer-assisted Cartography Winter December 18, 2013

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

CS33 Project Gear Up. Data

PC Applications IT102 estart Fall 2014

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CIS* Programming

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

CS 111: Programming Fundamentals II

X

Transcription:

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming Summer 2009

About these notes Originally by Cyrus Bazeghi Overhauled by Andrea Di Blas Modified by me (Alexandra Holloway) And Leon CMPE12 Summer 2009 Slides by ADB 00-2

The summer team Instructor: Alexandra Carey E-mail: fire@soe.ucsc.edu TA: Jared Mednick E-mail: jmednick@soe.ucsc.edu TA: Marc Mendonca E-mail: msm@soe.ucsc.edu Classes meet here, Physical Sciences 140 Labs meet in BE 104 CMPE12 Summer 2009 Slides by ADB 00-3

Our online presence Our online presence On the Web http://www.soe.ucsc.edu/classes/cmpe012/summer09 Forum http://forums.soe.ucsc.edu Google calendar CMPE12 Summer 2009 Slides by ADB 00-4

Summer deadlines CMPE12 Summer 2009 Slides by ADB 00-5

What we will cover in this class Part 1: Introduction to Logic Design Logic Gates and Functions (Ch 3) Integer Number Representation (Ch 2) Computing Systems & Abstraction (Ch 1) CMPE12 Summer 2009 Slides by ADB 00-6

What we will cover in this class Part 2: The LC-3 computer system LC-3 Architecture (Ch 4) LC-3 Instruction Set Architecture (Ch 5) LC-3 Machine Language Programming (Ch 6) LC-3 Assembly Language Programming (Ch 7) LC-3 Input and Output (Ch 8) LC-3 TRAPS and subroutines (Ch 9) LC-3 Stack (Ch 10) CMPE12 Summer 2009 Slides by ADB 00-7

What we will cover in this class Part 3: The 68HC11 microcontroller (not in book) Microcontrollers and embedded systems HC11 microcontroller HC11 assembly HC11 I/O and interrupts Part 4: Fractional numbers Fixed and floating-point numbers and arithmetic CMPE12 Summer 2009 Slides by ADB 00-8

What we will NOT cover in this class Part 5: The C programming language Intro to the C programming language (Ch 11) C variables (Ch 12) C control structures (Ch 13) C functions (Ch 14) C pointers and arrays (Ch 15, 16) C recursive functions (Ch 17) BUT we will use C as our reference high-level programming language, with examples throughout CMPE12 Summer 2009 Slides by ADB 00-9

Extended course description Required skills to pass the course. 1. Number representations, including a. arbitrary base conversion b. binary, hex, decimal, 2 s C c. bitwise operators d. Binary fixed point numbers e. single-precision floating-point format 2. Binary Arithmetic, including a. Signed magnitude add/sub b. Unsigned add/sub/mul c. Two's compliment add/sub/mul d. IEEE floating point add/sub/mul 3. Computing Systems a. Basic logic gates (and, or, not, xor) b. Determining the function of simple combinational circuits c. Adder and mux logic blocks 4. Assembly language programming a. Arithmetic and bitwise operations b. Procedure calls c. Stack & memory operations d. Assembly implementation of C control structures 5. An understanding of acceptable and unacceptable collaboration, the need to ensure permission to collaborate in a class, and an automatic urge to acknowledge collaborators and others who have assisted in a project. CMPE12 Summer 2009 Slides by ADB 00-10

Extended course description Core topics: 1. Assembly language programming including a. Arithmetic and bitwise operations b. Arrays, stacks, c. Procedure calls d. Addressing modes e. Both CISC and RISC architectures 2. An understanding of basic computing systems including a. Basic logic gates and/or/xor/not b. Basic logic blocks (adder, mux) c. Registers, memory, CPU, I/O d. Steps to execute an instruction e. data structures 3 Binary arithmetic a. Signed magnitude add/sub b. Unsigned add/sub/mul/div b. Two's compliment add/sub/mul c. Floating point add/sub/mul 4. Number representations, including a. Arbitrary base conversion b. Binary, hex, decimal, 2s C c. Bitwise operators d. Binary fixed point numbers e. Arbitrary bases (e.g., 3, 60) f. Biased representation g. IEEE Floating point format 5. An understanding of basic system software including a. Assembly and compilation b. Loading and linking c. The basic functions of the operating system 6. Interrupts and I/O a. Causes of interrupts b. Interrupt service routines c. Memory mapped I/O CMPE12 Summer 2009 Slides by ADB 00-11

The textbook Patt, Patel Introduction to Computing Systems: From Bits and Gates to C and Beyond McGraw-Hill, Second Ed. CMPE12 Summer 2009 Slides by ADB 00-12

Course work Class (CMPE12) Requirements Attending lectures Doing the weekly homework Posted online, collected in class Optional homework from the book (not graded) Lab (CMPE12L) Requirements Going to your lab section Weekly lab assignments Posted online, submitted online CMPE12 Summer 2009 Slides by ADB 00-13

Lab work Part 1: Logic design with Multimedia Logic Simulated logic gates Part 2: Programming assignments in LC-3 Simulated architecture Part 3: Programming assignments in HC11 Real hardware kit CMPE12 Summer 2009 Slides by ADB 00-14

Lab rules Each lab assignment consists of two things Lab work (code, design file, etc.) Lab write-up Lab assignment score = code + write-up Assignments are turned in using the UNIX submit command Must submit both the lab code and the write-up Make sure to make the deadline, since even 1 second late will stamp your assignment as LATE CMPE12 Summer 2009 Slides by ADB 00-15

Lab rules On time labs Eligible for 100% of points, including extra credit Eligible for 100% of points on the write-up Late labs Lose all extra credit Every week late, max score decreases by 25% Ex: Lab worth 20 points + 5 extra credit + 12 write-up 1 late week: 0 extra credit, max points are 15 and 9 2 late weeks: 0 extra credit, max points are 10 and 6 3 late weeks: 0 extra credit, max points are 5 and 3 4 late weeks: 0 extra credit, max points are 0 and 0 Never turned in: -1 and -1 CMPE12 Summer 2009 Slides by ADB 00-16

Done early? Get a check-off Go through the grading checklist in lab with your tutor in person Lock in your score with your tutor Your tutor only Do the write-up Submit the lab assignment by the deadline Both the lab file(s) and the write-up file Submission into the locker is what really counts No difference in grading between in-person check-off and normal grading with file submission Only the submitted files will be considered official, regardless of what you showed in class CMPE12 Summer 2009 Slides by ADB 00-17

No time? Submit it late Lab re-submission is not allowed Make sure you like what you submit If you are not done in time, don t submit, complete the lab, and just submit late CMPE12 Summer 2009 Slides by ADB 00-18

Attendance Mandatory for the class How will I know if you cut? Mandatory for the lab In lab, we may take roll Attending both lab sections are required First and second day each week CMPE12 Summer 2009 Slides by ADB 00-20

Grades for CMPE12 (the class) 20% Weekly homework and pop quizzes Lowest homework is dropped 20% Midterm 1 20% Midterm 2 40% Comprehensive final Things you don t turn in score -1 Cannot make up missed exams No curve CMPE12 Summer 2009 Slides by ADB 00-21

Grades for CMPE12L (the lab) You must turn in all lab assignments (none are dropped from the final grade) All grades for code and write-up add up to 100% Things you don t turn in score -1 Make up missed labs with late penalty No curve CMPE12 Summer 2009 Slides by ADB 00-22

Special needs Students with special needs should refer to the Disability Resource Center We will accommodate your needs CMPE12 Summer 2009 Slides by ADB 00-23

Final Grades Breakdown 95.0 and up A+ 90.0 to 95 A 85.0 to 90 A- 80.0 to 85 B+ PASS 75.0 to 80 B 70.0 to 75 B- 65.0 to 70 C+ 60.0 to 65 C 40.0 to 60 Under 40 FAIL D F CMPE12 Summer 2009 Slides by ADB 00-24

Lab/Class Pass Rule The class and lab are fully-coupled You must pass both the class and the lab to receive a passing score You must pass the class to pass the lab You must pass the lab to pass the class CMPE12 Summer 2009 Slides by ADB 00-25

Academic Dishonesty (Cheating) What is cheating? How does it happen? What happens if I get caught? CMPE12 Summer 2009 Slides by ADB 00-26

DO NOT CHEAT!

Homework from this section Check out our Web page http://www.soe.ucsc.edu/classes/cmpe012/summer09/ Register on the forums http://forums.soe.ucsc.edu Read Chapter 3 of the textbook CMPE12 Summer 2009 Slides by ADB 00-28