Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS-2303 System Programming Concepts

Similar presentations


Presentation on theme: "CS-2303 System Programming Concepts"— Presentation transcript:

1 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

2 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

3 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

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

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

6 CS2303 Course Objectives (continued)
The course web site:– 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

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

16 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

17 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

18 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

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

20 Questions? CS-2303, A-Term 2012 Introduction

21 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

22 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

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

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

25 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

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

27 Questions? CS-2303, A-Term 2012 Introduction

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


Download ppt "CS-2303 System Programming Concepts"

Similar presentations


Ads by Google