{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

01-overview.pdf - Computer Systems Principles Course...

Info icon This preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Computer Systems Principles Course Administration & Introduction 1 Today • Course Administration – Structure – Grading – Academic Honesty – Programming Environment – How to be successful in this course • Introduction – What is this course about? – Topics we will cover 2 Course Structure • Lectures – Highlight important concepts and techniques – Case studies with code & in‐class activities – i‐Clicker (one measure of participation) • Lab/Discussion – First 20 minutes: Quiz – Last 30 minutes: Help with assignments 3 Textbook • Computer Systems: A Programmer’s Perspective, 2E/3E by Bryant and O’Hallaron • We will not cover this book in its entirety, only the material we focus on. This includes parts of chapters 1, 2, 3, 7, 8, 9, 11, & 12 4 Course Staff Undergraduate Lab Assistants Professor Eliot Moss Instructor I will be delivering lectures! Kevin Feveck Graduate Teaching Assistant He will supervise the lab assistants, help with course material and grade disputes, etc. Ziwei He Matthew Leblanc Shubham Mehta Arthur Normand Vedant Puri Kyle Toohey William Zhang Qiqin Zhao They will be hosting the labs and answering your questions online! 5 Orientation • Moss Office Hours • TA Office Hours • Labs • Lectures 6 Course Resources • Moodle – Assignments / submissions – Please check regularly – If you are registered for the course you should see it in Moodle: https://moodle.umass.edu – Forums for communication • Public for things ok for other students to see • Individual for things that need to be private (code, etc.) – Lecture slides, Echo 360 video links 7 Assessment/Grading Weight Assessment 35% Project Assignments 30% Exams (2) (in class) 20% Final Examination (FE period) 15% Quizzes, Participation, etc A plan: subject to adjustment! 8 Project Assignments • This course has 10 project assignments • Each project is a programming assignment designed around the topics we are studying • Almost all project assignments must be implemented in the C Programming Language • All project assignments must be completed individually! • Project assignments will be peer assessed! 9 Peer Assessment 10 Lab/Discussions • Labs must be attended! • Labs will be used for two purposes: – To administer a quiz on HW, lecture, etc. material – To offer help in completing HW assignments • Students leading the labs are experts. • Your success in this course depends on it! It is a great place to get ask questions and get help on the assignments – so take advantage of it! 11 Participation • i‐Clicker exercises (responding matters) • Moodle forum contributions • Lab Quizzes 12 Quizzes & Exams • Lab Quizzes – In Lab, multiple choice, T/F, 20 minutes, ~10 questions • Exam 01 & 02 – In class, multiple choice, T/F, 75 minutes, ~50 questions • Final Exam – Final exam period – Multiple choice, T/F, open response, 120 minutes, ~70 questions 13 ZipGrade • Name • Class (Cmp Sci 230) • Quiz (on sheet) 14 ZipGrade • • • • Name Class (Cmp Sci 230) Quiz (on sheet) UMass Student id 15 ZipGrade • • • • • Name Class (Cmp Sci 230) Quiz (on sheet) UMass Student id Answer key (on sheet – can be more than one in the class, so this is important!) 16 Lateness Policy • Project Assignments Only! • Late assignments will be penalized – Approximately one letter grade penalty per late day up to 2 days. – You must participate in a peer review, if you are late >2 days you can’t submit. • Absolutely no credit given after solutions posted (if they are) 17 Academic Dishonesty We take this very seriously. It will have a negative impact on your course grade (F), your GPA, and your overall record at UMass and beyond. • You may discuss assignment problems with others in the course; however, writing (including code) of solutions must be your own. Rule of thumb: Never receive/keep anything that is written down (on paper, electronically (files), etc.), unless it is from instructors. • Copying any material directly or indirectly from the web is considered dishonest – even if it is GPL, Apache, BSD, MIT, or any type of open source license. • Copying or using sections of someone else’s program or assignment, even if it has been modified by you, is considered dishonest. Sharing code, posting it, etc., are equally dishonest. • When in doubt, contact us. • Please see the UMass Code of Conduct for further details. • We run plagiarism checkers. 18 Examples of Academic Dishonesty • • • • Viewing all or part of your friends assignment source code either in person or over Skype, Google Hangout, Facetime, or any other video or audio transmission. Sending all or part of your assignment source code through email, text, Morse code, … Posting all or part of your assignment source code on the web – this also means online public/shared source code repositories such as github or bitbucket. Posting all or part of your assignment source code on Piazza or Moodle. • • • • • • Googling for solutions to an assignment. Copy and paste solutions from the web into your editor, even with heavy editing, and submitting it as your own. Using solutions from previous semesters. Paying someone to do your assignment and submitting as your own. Stealing a friend’s source code with a thumb drive (yes, I have seen this). Stealing from your roommate’s computer during a semester break (actually happened). 19 Programming Environment • • • • • VirtualBox Lubuntu C Programming Language gcc, gdb, objdump, make, … Editors 20 How (not) to succeed in this course • Phrasebook C – Need to know how to use C, not just what it looks like • Not knowing what you don’t know – Come to class and discussion sections • Learning material by osmosis – This course is not simply a shot of knowledge in the head, and we don’t spoon feed everything – Gaining a skill requires practice • Not practicing enough – Knowing the syntax is important, but not enough – Practice, practice, practice! 21 What is this course about? 22 Baby Talk 23 Kid Speak 24 Teen Chatter 25 “Adult” Communication? 26 What The? So, what does any of this have to do with this course? 27 Computer Systems Principles Is about the different layers in a computer system… 28 Computer Systems Principles Is about the different layers in a computer system… 29 Computer Systems Principles Is about the different layers in a computer system… 30 Computer Systems Principles Is about the different layers in a computer system… 31 Computer Systems Principles Is about the different layers in a computer system… 32 Computer Systems Principles Is about the different layers in a computer system… 33 Computer Systems Principles C Programs & Libraries Assembly Machine Code Virtual Memory Memory Information Representation Microprocessor Is about the different layers in a computer system… 34 Computer Systems Principles Virtual Machine (Linux) Is about the different layers in a computer system… 35 Group Activity • Where does Java fit in this mess? – Take 5‐10 minutes to form a group and discuss these questions with the people in that group: 1. How does a Java program execute? 2. Does the machine execute Java source code? 3. What does Java rely on to run on a modern OS? 4. How is Java implemented and what does it need in order even to exist? 5. What is C and how does it compare to Java? 6. What is a Java Virtual Machine (JVM)? 36 Computer Systems Principles Java Applications Java Libraries JVM Bytecode (class files) Java Virtual Machine (in C) C Programs & Libraries Assembly Machine Code Virtual Machine (Linux) Is about the different layers in a computer system… 37 Programming Environment • VirtualBox – A user application that emulates an x86 Microprocessor and hard disk – Once an OS is installed on the emulated hard drive, it acts like a whole computer – We will use this to run a virtual Linux machine – Where does this go in the stack? 38 VirtualBox Stack Machine Code, Assembly, C Programs, etc. Virtual Machine (Linux/Lubuntu) VirtualBox C Programs & Libraries Assembly Machine Code Virtual Machine (Mac OSX, Windows, Linux) on real hardware 39 ...
View Full Document

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern