CS-2303 System Programming Concepts

Slides:



Advertisements
Similar presentations
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
Advertisements

1-1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
IntroductionCS-2301 D-term CS-2301 System Programming for Non-Majors Professor Hugh C. Lauer D-term 2009 (Slides include materials from The C Programming.
Course Information 1 CS502 Spring 2006 Operating Systems CS502 Spring 2006 Mondays – 6PM.
IntroductionCS-2301, B-Term CS-2301, System Programming for Non-Majors (Slides include materials from The C Programming Language, 2 nd edition, by.
ECS15: Introduction to Computers Fall 2013 Patrice Koehl
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Computer Network Fundamentals CNT4007C
7-Sep-15 Physics 1 (Garcia) SJSU Conceptual Physics (Physics 1) Prof. Alejandro Garcia Spring 2007.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
IntroductionCS-2301 B-term CS-2301, System Programming for Non-majors Hugh C. Lauer Adjunct Professor (Slides include materials from The C Programming.
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CS-1030 Dr. Mark L. Hornick 1 CS-1030 – Software Design 2 Dr. Mark L. Hornick web: people.msoe.edu/~hornick webCT: webct.msoe.edu.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
Computer Networks CNT5106C
CS 2303 Systems Programming Concepts Bob Kinicki A08.
EGR 115 Introduction to Computing for Engineers Course Overview and Introduction Monday 29 Aug EGR 115 Introduction to Computing for Engineers Slide 1.
Introduction to CSCI 1311 Dr. Mark C. Lewis
CSc 120 Introduction to Computer Programing II
Computer Network Fundamentals CNT4007C
電腦圖學 Computer Graphic with Programming
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
ENCM 369 Computer Organization
CS101 Computer Programming I
EGR 115 Introduction to Computing for Engineers
Computer Networks CNT5106C
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
COSC051: Computer Science I
ECE/Comp Sci 352 Digital Systems Fundamentals
Online Composition with Georgie Ziff
CS-1004 — Introduction to Programming for Non-Majors
Computer Networks CNT5106C
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
CSC215 Lecture Orientation.
Makefiles and Notes on Programming Assignment PA2
Introduction to Programming Using C++
EG 1003 Overview.
“Under the Hood” of Polymorphism
EG 1003 Overview.
Derived Classes in C++ Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2nd edition,
History and Background
Programming Assignment #6
Programming Assignment #5
Differences between Java and C
Accelerated Introduction to Computer Science
CSC215 Lecture Orientation.
Wrap Up Don Porter.
Your first C and C++ programs
Operator Overloading Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2nd edition,
CS 425 / CS 625 Software Engineering
CS 2530 Intermediate Computing Dr. Schafer
Welcome to Physics 4302 Statistical & Thermal Physics!
ITEC 202 Operating Systems
Computer Networks CNT5106C
CS-2303 Introduction (continued)
General Biology I BSC1010C Summer 2019 CRN
General Biology I MCB2010C Summer 2019 CRN and CRN
ITEC 202 Operating Systems
Loose ends from yesterday
CS Problem Solving and Object Oriented Programming Spring 2019
CS201 – Course Expectations
Microbiology MCB2010C.
Presentation transcript:

CS-2303 System Programming Concepts Professor Hugh C. Lauer (Slides include materials from The C Programming Language, 2nd edition, by Kernighan and Ritchie, Absolute C++, by Walter Savitch, The C++ Programming Language, Special Edition, by Bjarne Stroustrup, and from C: How to Program, 5th and 6th editions, by Deitel and Deitel) CS-2303, A-Term 2012 Introduction

Outline for Today Survey and TA/SA Introductions Course Objectives 1/14/2019 Outline for Today Survey and TA/SA Introductions Course Objectives Course Operation/Expectations Course Plan and Syllabus Systems Concepts ‘Old’ Development Environments C and C++ Higher Level Language History c CS-2303, A-Term 2012 Introduction 2

CS2303 Course Objectives To expose students to lower level systems interface ‘grunge’ only clearly visible via C. To learn to program in both C and C++ Starting with C To further develop the ability to design programs with emphasis on the abstract view of data structures. To get experience with the low-level implementation of data structures in C. CS-2303, A-Term 2012 Introduction

CS2303 Course Objectives (continued) To get a taste of Programming in the Large CS-2303, A-Term 2012 Introduction

CS2303 Course Objectives (continued) Pointers!! CS-2303, A-Term 2012 Introduction

CS2303 Course Objectives (continued) The course web site:– http://web.cs.wpi.edu/~cs2303/a12/ Contains:– Syllabus General overview Rules and expectations All lecture notes All programming and lab assignments … You are responsible for everything on the course web site These are password protected! CS-2303, A-Term 2012 Introduction

CS2303 Course Objectives (continued) Tuesdays & Fridays, 8:00 – 9:50 AM Fuller Labs 320 Weekly Lab Sessions A01 – Kaven 203, Wednesdays 9:00–9:50 AM A02 – Kaven 203, Wednesdays 10:00–10:50 AM A03 – Kaven 203, Wednesdays noon–1:00 PM Approx. 6 Programming Assignments Week quizzes ~20 minutes at start of class, typically on Fridays Last classroom quiz:– Tuesday, October 9 Laboratory quiz:– Wednesday, October 10 CS-2303, A-Term 2012 Introduction

No computing, No network access Weekly Quizzes Typically on Fridays at 8:00 AM Approximately 20 minutes You may start as soon as you arrive in the classroom Open book, open notes No electronics Except Kindle, iPad, etc., if using an electronic textbook No computing, No network access Best five out of seven No make-up quizzes CS-2303, A-Term 2012 Introduction

Grading Quizzes:– ~40% Programming Assignments:– ~40% Labs and Subjective Evaluation:– ~20% Satisfactory grades on Programming Assignments are required to pass this course It is in your interest that the Professor and TAs know who you are! Last classroom quiz and Laboratory quiz are mandatory for passing this course CS-2303, A-Term 2012 Introduction

Discussion Board This term, we will try out the new myWPI as a Discussion Board Technical and administrative questions If you know the answer, please post reply to the board! If someone has not already replied! Participation in the Discussion Board is part of the Subjective Evaluation portion of the grade CS-2303, A-Term 2012 Introduction

Course Plan and Syllabus Approx 50% C, approx 50% C++ Cover common areas between C, C++, and Java quickly Expressions, statements, conditionals, loops, etc. Data structures in C Arrays and pointers (very different from Java). Structs and unions, dynamic memory management Classes, templates, overloading in C++ CS-2303, A-Term 2012 Introduction

Required C Textbook Over 20 years old! Still relevant Cheap Will refer to it often! Cheap Used on Amazon Download PDF Keep a copy on your desk … … for the rest of your professional life! CS-2303, A-Term 2012 Introduction

Required C++ Textbook 4th or 5th editions okay Chapters 1-3 Strong overlap with K & R Strong overlap with Java Chapters 5, §6.1, §10.1 Very different from Java Additional chapters Other common elements between C & C++ CS-2303, A-Term 2012 Introduction

Required C++ Textbook 4th or 5th editions okay Chapters 1-3 Strong overlap with K & R Strong overlap with Java Chapters 5, §6.1, §10.1 Very different from Java Additional chapters Other common elements between C & C++ CS-2303, A-Term 2012 Introduction

Reading Assignments Kernighan & Ritchie, Chapter 1 Absolute C++, Chapter 1 CS-2303, A-Term 2012 Introduction

Useful C++ Reference 10 years old! The authoritative reference on C++ Including Standard Template Library Every computer scientist who ever programs in C++ should own a copy CS-2303, A-Term 2012 Introduction

Teaching staff Ph. D. Carnegie-Mellon, 1972-73 Dissertation “Correctness in Operating Systems” Faculty at University of Newcastle upon Tyne, UK Approximately 30 years in industry in USA WPI since 2006 21 US patents issued 2 seminal contributions to Computer Science Hugh C. Lauer Teaching Professor CS-2303, A-Term 2012 Introduction

Relevant C++ experience CTO, Chief Architect of VolumePro™ 1000 World’s first interactive 3D rendering engine for CT, MRI, seismic scans for PC-class computers 7.5-million gate, high-performance ASIC 109 illuminated graphical samples per second Designed entirely in C++ CS-2303, A-Term 2012 Introduction 19

? TAs and SAs TA office – Fuller A22 Ahmedul Kabir Chris Casola TA office – Fuller A22 Office hours posted on course website E-mail:– cs2303-staff in domain cs.wpi.edu To contact TAs, SAs, and professor Hao Wan Nick DeMarinis ? CS-2303, A-Term 2012 Introduction

Questions? CS-2303, A-Term 2012 Introduction

Names and Faces It is in your own interest that I know who you are. Students who speak up in class usually get more favorable grades than those who don’t When speaking in class, please identify yourselves CS-2303, A-Term 2012 Introduction

Ground Rule #1 There are no “stupid” questions. It is a waste of your time and the class’s time to proceed when you don’t understand the basic terms. If you don’t understand it, someone else probably doesn’t understand it, either. CS-2303, A-Term 2012 Introduction 23

Ground Rule #2 Help each other! Even when a project or assignment is specified as individual, ask your friends or classmates about stuff you don’t understand. It is a waste of your time try to figure out some obscure detail on your own when there are lots of resources around. When you have the answer, write it in your own words (or own coding style). CS-2303, A-Term 2012 Introduction 24

WPI Academic Honesty Policy It is a violation of the WPI Academic Honesty Policy to submit someone else’s work as your own. It is not a violation of WPI’s Academic Honesty Policy to ask for help! Classmates, TAs, friends, mentors, … Explanations of things you don’t understand CS-2303, A-Term 2012 Introduction

Cite Your Sources Many Resources Web, previous instances of this course, other courses Friends, classmates, mentors, etc. Cite Your Sources Explain in your own words So that I can see that you actually understand it Write in your own coding style CS-2303, A-Term 2012 Introduction

No Copying! CS-2303, A-Term 2012 Introduction

Questions? CS-2303, A-Term 2012 Introduction

Break and Survey Next Topic CS-2303, A-Term 2012 Introduction