1 CS 201 Computer Systems Programming Chapter 1 “CS 201 Introduction” Herbert G. Mayer, PSU CS Status 6/12/2014.

Slides:



Advertisements
Similar presentations
Course Outline Presentation Term: F09 Faculty Name : Asma Sanam Larik Course Name :INTRO TO COMPUTING Course Code : CSE145 Section :1 Semester : 1.
Advertisements

1 CS 162 Introduction to Computer Science Chapter 1 The Instructor and You Herbert G. Mayer, PSU Status 11/16/2014.
1 CS 162 Introduction to Computer Science Chapter 2 Introduction Herbert G. Mayer, PSU Status 11/9/2014.
INTRODUCTION T.Najah Al_Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System CS240.
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
Introduction to Computers and Programming - Class 1 1 Introduction to Computers and Programming Professor Avi Rosenfeld.
CIS 101: Computer Programming and Problem Solving Lecture 8 Usman Roshan Department of Computer Science NJIT.
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale and infrastructure F ’08 class01b.ppt.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
PSU CS 106 Computing Fundamentals II Introduction HM 1/3/2009.
CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim Department of Computer Science and Engineering 338B Bright
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 28, 2001 Topics: Staff, text, and policies Lecture topics and assignments.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
1 ENG236: Introduction (1) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
+ CS 325: CS Hardware and Software Organization and Architecture Introduction.
Computer Architecture Lecture 01 Fasih ur Rehman.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
1 ECE 587 Advanced Computer Architecture I Chapter 1 Instructor and You Herbert G. Mayer, PSU Status 7/1/2015.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Software Overview. Why review software? Software is the set of instructions that tells hardware what to do The reason for hardware is to execute a program.
Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
1 ECE 102 Engineering Computation Chapter 1 The Instructor and You Dr. Herbert G. Mayer, PSU Status 9/2/2015 For use at CCUT Fall 2015.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
1 ECE 221 Electric Circuit Analysis I Chapter 1 Instructor and You Herbert G. Mayer, PSU Status 10/12/2014 For use at Changchun University of Technology.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
ECE 103 Engineering Programming Chapter 5 Programming Languages Herbert G. Mayer, PSU CS Status 6/19/2015 Initial content copied verbatim from ECE 103.
1 CS 201 Computer Systems Programming Chapter 1 “CS 201 Introduction” Herbert G. Mayer, PSU CS status 1/8/2013.
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
1 CS232: Computer Architecture II Fall 2011 Intel i7 Quad-core.
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Computer Science 516 Week 3 Lecture Notes. Computer Architecture - Common Points This lecture will cover some common things which characterize computer.
1 CS 201 Computer Systems Programming Chapter 1 “CS 201 Introduction” Herbert G. Mayer, PSU CS Status 9/24/2013.
Tolo-e-aftab higher education 1 th semester Bcs 1/2/1392 MINISTRY OF HIGHER EDUCATION.
CSCE 312 Computer Organization Course Administration Dr. Rabi N Mahapatra Department of Computer Science & Engineering, 520B HR Bright,
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
Introduction to Computer Systems Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F ’02 class01b.ppt “The Class.
1 ECE 221 Electric Circuit Analysis I Chapter 1 Your PSU Instructor and You Herbert G. Mayer, PSU Status 10/12/2015.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Chapter 1 Introduction. Components of a Computer CPU (central processing unit) Executing instructions –Carrying out arithmetic and logical operations.
1 Introduction to C Programming 計算機程式設計 2/22/2012 朱浩華.
1 CS 161 Introduction to Programming and Problem Solving Chapter 1 The Instructor and You Herbert G. Mayer, PSU Status 10/12/2014.
1 ECE 101 Exploring Electrical Engineering Chapter 0 The Instructor and You Herbert G. Mayer, PSU Status 12/3/2015.
CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 25, 1998 Topics: Staff, text, and policies Lecture topics and assignments.
1 CS232: Computer Architecture II Fall 2010 AMD dual-core Opteron.
1 CS 163 Data Structures Chapter 1 The Instructor and You Herbert G. Mayer, PSU Status 5/11/2015.
1 ECE 171 Digital Circuits Chapter 0 The Course Instructor and You Herbert G. Mayer, PSU Status 2/8/2016.
CS232: Computer Architecture II
1 CS/ECE 354 Fall 2013 “New, and improved!”. 2 Karen Miller Phone: CS.
1 ECE 222 Electric Circuit Analysis II Chapter 0 Your PSU Instructor and You Herbert G. Mayer, PSU Status 2/8/2016 For use at CCUT Spring 2016.
Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
1 ECE 222 Electric Circuit Analysis II Chapter 0 Your PSU Instructor and You Herbert G. Mayer, PSU Status 4/19/2016 For use at CCUT Spring 2016.
1 ECE 486/586 Computer Architecture I Chapter 1 Instructor and You Herbert G. Mayer, PSU Status 7/21/2016.
ECE 486/586 Computer Architecture Introductions Instructor and You
CS 213 Introduction to Computer Systems Course Organization Todd C
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor and Assembly Language
课程名 编译原理 Compiling Techniques
GSP 215 Competitive Success-- snaptutorial.com
GSP 215 Education for Service-- snaptutorial.com
GSP 215 Teaching Effectively-- snaptutorial.com
Your PSU Instructor and You
Computer Systems Summary
Chapter 0 Your PSU Instructor and You
Syllabus.
CS 286 Computer Organization and Architecture
Lecture 1 Class Overview
CS201 – Course Expectations
Dr. Clincy Professor of CS
Presentation transcript:

1 CS 201 Computer Systems Programming Chapter 1 “CS 201 Introduction” Herbert G. Mayer, PSU CS Status 6/12/2014

2 Syllabus This is CS 201 This is CS 201 Who is the Instructor? Who is the Instructor? Goals of CS 201 Goals of CS 201 Who are You? Who are You? Grading, Homework, Late Hand-in Grading, Homework, Late Hand-in Silver Bullet Silver Bullet Extra Credit Extra Credit Misc & Contacts Misc & Contacts Microsoft Assembler Microsoft Assembler Text Books Recommended Text Books Recommended

3 This is CS 201 Summer 2014 CS 201, Computer Systems Programming Summer 2014 CS 201, Computer Systems Programming Tuesdays + Thursdays 10:30 – 12:50 Tuesdays + Thursdays 10:30 – 12:50 We discuss use of computers from a systems programmer’s view We discuss use of computers from a systems programmer’s view With ultimate goal of learning how to implement better systems software and build better computers in the future With ultimate goal of learning how to implement better systems software and build better computers in the future Also how to use current computers efficiently Also how to use current computers efficiently Efficient generally means: minimizing the time a human programmer has to wait for results Efficient generally means: minimizing the time a human programmer has to wait for results Sometimes efficiency refers to other resource uses, e.g. memory use, mass storage use, etc. Sometimes efficiency refers to other resource uses, e.g. memory use, mass storage use, etc.

4 Who is the Instructor? Instructor is a German immigrant, who worked in the US computer industry and academia Instructor is a German immigrant, who worked in the US computer industry and academia MS EECS (electrical engineering an computer science) UCSD 1983; beautiful beach & campus! MS EECS (electrical engineering an computer science) UCSD 1983; beautiful beach & campus! PhD CS TU Berlin 1995; awesome city, now united! PhD CS TU Berlin 1995; awesome city, now united! Professional focus on compiler optimization, alias analysis, programming languages, VLIW Professional focus on compiler optimization, alias analysis, programming languages, VLIW PhD Thesis on automatic generation of MP-object code via source analysis through alias analysis PhD Thesis on automatic generation of MP-object code via source analysis through alias analysis Retired in 2011 after 24 years at Intel Corp. Hillsboro Retired in 2011 after 24 years at Intel Corp. Hillsboro Implemented Compilers for systolic array architecture 1980s Managed Intel CPU tuning lab & CPU validation in new Intel processors Teaching computer science since 1983 at SDSU San Diego, and since 1987 PSU Teaching computer science since 1983 at SDSU San Diego, and since 1987 PSU

5 Goals of CS 201 Understand, useUnderstand, use computer systems from a software developer’s perspective. Solidify C language programming and some assembly language reading skills Show how to measure and improve program performance based on machine architecture. Upon successful completion of this course students will also be able to: Describe basic computer system organization including the operating system, specifically processes, files, virtual memory, and underlying hardware, CPU, registers, memory hierarchy Discuss in detail how Virtual Memory Management (VMM) worked on early 32-bit architectures; relevant now again that 64- bit addressing is standard Describe HLL translation system, including preprocessing, assembling, compiling, and linking, plus function of object files and shared libraries

6 Goals of CS 201, Cont’d Write C programs to practice systems programming concepts, including file I/O, system calls, memory management, exception handling and process management Do arithmetic in hexadecimal, decimal, octal, and binary notation, and convert between these notations Explain how data types such as integers, characters, floating point numbers, arrays, pointers, and structures are represented internally in computer Describe the instruction set architecture for Intel x86 and Sun Sparc family, including the arithmetic/logic instructions, registers, memory model and addressing- and control instructions Explain how high-level programming constructs such as loops and recursive function calls can be implemented in underlying machine code

7 Goals of CS 201, Cont’d Describe in detail how a data cache functions, and why it improves performance; emphasis is: locality Explain how exceptions, traps, and context switches occur and how they are handled at machine level Explain the performance impact of hardware features in pipelined, superscalar, and MP architectures; explain awesome benefit of locality Use profiling and timing facilities to identify performance bottlenecks in HLL programs Describe low-level architecture details of the still emerging Intel x86 architecture Analyze generated Sparc assembly code

8 Who are You? Briefly, 2-6 students volunteer to articulate in class, explaining: Your name Your field of study and current progress Why do you take CS 201? What is your expectation of this class? What is your minimal goal for CS 201? Which is your ideal learning goal? Have you worked in the computer industry? Which computer subjects are you interested in? Anything else relevant to this course

9 Grading, Homework, Late Hand-In Acquire up to 1,000 points total = 100% Acquire up to 1,000 points total = 100% Upper and lower 15% yield a + or – grade variation Upper and lower 15% yield a + or – grade variation 5 homeworks at 150 points each = 750 points 5 homeworks at 150 points each = 750 points Midterm, in class, in ~week 5= 250 points Midterm, in class, in ~week 5= 250 points Homework to be ed before the start of class on the due date Homework to be ed before the start of class on the due date Homework s should use the subject line “CS 201 HW x”, where ‘x’ is the homework number Homework s should use the subject line “CS 201 HW x”, where ‘x’ is the homework number Work that is handed in 1 second up to a day late experiences 10% deduction of the total points Work that is handed in 1 second up to a day late experiences 10% deduction of the total points Each additional day late: another 10% deducted Each additional day late: another 10% deducted A Homework that is 5 days late or later is not accepted A Homework that is 5 days late or later is not accepted

10 Silver Bullet One single time each student is allowed to hand in homework up to 3 days late without penalty One single time each student is allowed to hand in homework up to 3 days late without penalty This is called the CS 201 Silver Bullet This is called the CS 201 Silver Bullet Silver Bullets cannot be split, traded, or sold on the black market Silver Bullets cannot be split, traded, or sold on the black market If in the end you did not consume the silver bullet, you cannot trade it in for cash or a better grade If in the end you did not consume the silver bullet, you cannot trade it in for cash or a better grade While tracking homework grades, consumption of the silver bullet is tracked While tracking homework grades, consumption of the silver bullet is tracked Note that the maximally 3 late days worth of Silver Bullet cannot be applied to 2 different late homeworks, even if they are both, say, just 1 day late each Note that the maximally 3 late days worth of Silver Bullet cannot be applied to 2 different late homeworks, even if they are both, say, just 1 day late each

11 Extra Credit Extra Credit: is a way to improve your grade by up to a half grade, i.e. up to a maximum of 50 points total Extra Credit is granted for good ideas expressed in class, constructive questions and contributions in class, identifying errors in class material Volunteers may present the HW or select topics in class, 10 min. each for a few extra credit points Any error in class material, even the slightest typo – but only pointed out the first time– is worth some extra credit Presenting smart homework solutions in class can deserves extra credit; you need to volunteer for such presentations proactively Each time you catch and correct an error made by the instructor you receive extra credit, though the instructor will claim: “This was a deliberate error to test your alertness!”

12 Misc. & Contacts Your grader will be introduced in class all HW to the grader, cc Herb; keep original copy of your Herb’s The Midterm will be on paper; nothing to

13 Microsoft Assembler masm Assembler discussed in this class is Microsoft masm: us/library/hb5z4sxd(v=vs.100).aspx That MS software is available in CS computer Lab as part of Visual Studio Walk up to a machine and look at the following: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC> ml /?

14 Text Books Recommended 1. 1.Computer Systems: A Programmer's Perspective, 2 nd edition, Bryant and O'Hallaron, Prentice Hall, ISBN- 13: , © The C Programming Language, 2 nd edition, Kernighan and Ritchie, Prentice Hall, ISBN , © 1988 or newer