computer systems programming cs201 hello i m chris kim
play

COMPUTER SYSTEMS PROGRAMMING CS201 Hello! Im Chris Kim . Im a - PowerPoint PPT Presentation

COMPUTER SYSTEMS PROGRAMMING CS201 Hello! Im Chris Kim . Im a software engineer at Tripwire. I studied Computer Science here at PSU. 2 Kimchi 3 ABOUT THIS Why are we COURSE here? 4 ABOUT THIS COURSE This course gives you an


  1. COMPUTER SYSTEMS PROGRAMMING CS201

  2. Hello! I’m Chris Kim . I’m a software engineer at Tripwire. I studied Computer Science here at PSU. 2

  3. Kimchi 3

  4. ABOUT THIS Why are we COURSE here? 4

  5. ABOUT THIS COURSE This course gives you an overview of ▸ how computer systems are organized. Provides skills and knowledge of C, and ▸ how C is translated into hardware executable code. Specific goals listed on course syllabus. 5

  6. COURSE INFORMATION Home Page D2L Course objectives Homework submissions will occur here Updated course schedule Grades/feedback Information about instructor, TA, office hours, textbooks Information about assignments and submission instructions 6

  7. COURSE INFORMATION Slack pdx-cs.slack.com #cs201_spring_2020 Class discussions will occur here. General discussion is allowed, do not share code. Feel free to message me here! You will probably get a much faster response than via email. 7

  8. TEXTBOOKS Computer Systems: A Programmer’s Perspective, 3rd Edition All slide materials in this class are based on material provided by the authors. csapp.cs.cmu.edu The C Programming Language, 2nd Edition The “ bible ” of C programming. Parts of this course rely on the C99 standard. 8

  9. ACCOUNTS Instructions on the course webpage: ▸ https://web.cecs.pdx.edu/~kimchris/cs201 Access to a PSU MCECS Linux system is ▸ required. Activate in person at the CAT. Linux Lab ▸ ssh user@linuxlab.cs.pdx.edu ▹ Computer labs in FAB 88-09 or FAB 88-10 ▹ 9

  10. LINUX ENVIRONMENT It will be useful to be familiar with the following Linux commands/programs: File system: ▸ ls, cd, mkdir, rm ▹ Editors: ▸ vim, emacs, nano ▹ Programming Tools: ▸ gcc (GNU Compiler) ▹ gdb (GNU Debugger) ▹ make (Code building tool) ▹ zip (archiver, compressor) ▹ 10

  11. EXAMS Midterm (20%) ▸ Final (25%) ▸ Closed book, single page of handwritten notes ▸ No electronic devices (phones, laptops, etc) ▸ Problems will be taken from lectures and textbook ▸ problems. 11

  12. GRADING BREAKDOWN / POLICY Assignment 1 5% MetaCTF 15% Assignment 2 7.5% Attendance 10% Assignment 3 10% Midterm 20% Assignment 4 7.5% Final 25% Assignments are due at the beginning of class on ▸ the day marked. No late work will be accepted. ▸ 12

  13. COURSE ASSIGNMENTS Reading assignments are posted with each ▸ lecture (refer to the course website) Four homework assignments ▸ MetaCTF levels ▸ All assignments must be completed in order ▸ to receive a passing grade this class. 13

  14. ASSIGNMENT POLICIES Grading breakdown on the syllabus. ▸ Homework assignments are due at the start ▸ of class on the given due date. Follow submission instructions on the ▸ homepage carefully. No late work is accepted. ▸ 14

  15. ACADEMIC INTEGRITY Refer to the syllabus and university guidelines. ▸ What is NOT cheating? ▸ Discussing the design of a program ▹ Discussing concepts and methodologies ▹ Talking about how linux tools are used ▹ Using code given by the professor in lecture, ▹ demos, slack, etc. 15

  16. ACADEMIC INTEGRITY What IS cheating? (This is not an exhaustive list.) ▸ Working with other students on an individual ▹ assignment Copying code from another student (including ▹ past students), or from the internet Letting someone copy your answers/code ▹ In short, it is very easy to catch cheating in CS. If you are caught cheating, any and every effort will be taken to end your academic/professional career. 16

  17. REGRET CLAUSE If you commit some act that is not ▸ reasonable but bring it to the attention of the course’s heads within 72 hours, the course may impose local sanctions that may include an unsatisfactory or failing grade for work submitted, but the course will not refer the matter for further disciplinary action, except in cases of repeated acts. 17

  18. REGARDING IDEs I recommend using and familiarizing yourself ▸ with Linux command line tools. Generally guaranteed to be on your Linux ▹ system Without auto-fill, they tend to make you ▹ think about the what/why of what you are doing With that said, you will likely be using IDEs for ▸ most of your work in industry. 18

  19. REGARDING IDEs IDE’s are (kind of) like spellcheck. ▸ Is it bad to use one? Of course not. Do they help with productivity? Indeed they do. Should you be relying on spellcheck instead of learning to spell? Probably not doing you any favors if you do. 19

  20. GETTING HELP CS Tutor Lounge ▸ https://cat.pdx.edu/users/cs-tutors/ ▹ Instructor (That’s me!) ▸ Group discussions on Slack ▸ 20

Recommend


More recommend