E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University in St. Louis.

Slides:



Advertisements
Similar presentations
CSE 332: C++ overview CSE 332 Overview and Structure CSE 332 emphasizes studio-based active learning –Introductory lecture material followed by hands-on.
Advertisements

NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Cpt S 122 – Data Structures Course Introduction
OV-1.1 CSE4701 CSE4701 Introduction to Databases Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 371.
ICS 201 Course Overview.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
1-1 ICS201: Introduction To Computer Science King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP152 Object-Oriented Programming and Data Structures Spring 2011.
CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim Department of Computer Science and Engineering 338B Bright
COMS S1007 Object-Oriented Programming and Design in Java July 3, 2007.
WELCOME PARENTS! Honors Computer Programming Ms. L. Dutchen.
Object-Oriented Programming Dr. Napoleon H. Reyes, Ph.D. Computer Science Institute of Information and Mathematical Sciences Rm QA, IIMS, Albany.
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University, St. Louis
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science Washington University, St. Louis
Department of Computer Science Comparative Study of Imperative Programming Languages Vergelijkende studie van imperatieve programmeertalen.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
EECE 310 Software Engineering Lecture 0: Course Orientation.
CSE 436 Software Engineering Workshop Course Overview Christopher Gill CSE 436 January 2007 Department of Computer Science and Engineering.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
Chapter 1: Introduction to Project Management
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
C++
Course Introduction Software Engineering
WXGE 6103 Digital Image Processing Semester 2, Session 2013/2014.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (FIT-II) J. H. Wang Feb. 20, 2009.
Jongwook Woo CIS 528 Introduction to Big Data Science (Syllabus) Jongwook Woo, PhD California State University, LA Computer and Information.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
1 IDLOOPC1998. Object-Oriented Programming Using C++ CLASS 1.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO 1E81.
Object-Oriented Programming (OOP) Lecture No. 1. Course Objective ► Objective of this course is to make students familiar with the concepts of object-oriented.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
IT274 Intermediate C# Programming Instructor : Vladimir Gubanov, PhD AIM : vladimirg77.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Introduction to Generic Programming in C++
Exam 3 Information George Koutsogiannakis
CSE 332 Overview and Structure
Object-Oriented Programming (OOP) Lecture No. 1
Object-Oriented Programming
Computer Architecture Syllabus
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Foundations of Visualization 8/30/05 Lecture Notes
CSE 332 Overview and Structure
CSE 332 Overview and Structure
EECE 310 Software Engineering
Quiz 2 Information George Koutsogiannakis
OBJECT ORIENTED PROGRAMMING II GEORGE KOUTSOGIANNAKIS
Accelerated Introduction to Computer Science
Course Summary ChengXiang “Cheng” Zhai Department of Computer Science
CS 116 OBJECT ORIENTED PROGRAMMING II FINAL EXAM INFORMATION
CSE 444 Database Management Systems Spring 1999 University of Washington Introduction and Welcome © 1999 UW CSE 4/4/2019.
CS114B Introduction to Computer Science II
CSCE156: Introduction to Computer Science II
Computer Engineering Department Islamic University of Gaza
CSE 444 Database Management Systems Autumn 1997 University of Washington Introduction and Welcome © 1997 UW CSE 12/12/2019.
Presentation transcript:

E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University in St. Louis Course Introduction

We’ll Use all 4 Main Paradigms in C++ Procedural –Iterators, algorithms Functional –Binders, functions Object oriented –Classes, inheritance Generic –Templates, concepts and models, type inference, interface polymorphism  C++ 

We’ll Also Study Software Engineering Architectural Patterns –For concurrent (and later networked) software Design Patterns –For well structured code C++ Idioms –For well behaved software  C++ 

Exploration Through Studio Exercises Hands-on experience within each individual topic covered Reinforce assigned readings and classroom discussions Completion of required exercises (including posting your answers) is a baseline for the participation grade  C++ 

We’ll Develop 4 Team Projects One basic, one intermediate, two more advanced Explore interactions between paradigms, patterns, idioms Hands on experience building concurrent system software Reinforce assigned readings, examples, and exercises  C++ 

Course Resources Required Text –[Williams] Williams: C++ Concurrency in Action –Readings will be assigned throughout the semester –Exams will cover all material in the course Assigned readings as well as posted slides, studio exercises, and labs Optional Texts (for reference and/or additional reading) –[Stroustrup] Stroustrup: The C++ Programming Language –[LLM] Lippman, Lajoie, and Moo: C++ Primer Course Web Page – –classes.cec.wustl.edu/~cse532/ –Reading assignments, studios, labs, course syllabus and info Course account: (submit labs there)

Course Prerequisites CSE 332S, “Object-Oriented Software Development Laboratory” (or graduate standing and proficiency with C++) –C++ language features and idioms for memory management, aliasing (pointers and references), classes and inheritance polymorphism, templates and interface polymorphism, function and operator overloading, etc. –Grad students assumed able to self-study rapidly on this if needed CSE 422S (Operating Systems) –Conceptual foundations: threads, deadlocks, race conditions, etc. –Practical hands-on experience with threads, debuggers, etc.

Course Objective: Mastery Mastery is a path, not a destination –George Leonard “…if you only walk long enough.” –Lewis Carroll

First Reading Assignment Please read before the next lecture –Required: [Williams] Chapter 1 –Optional: [Stroustrup] Chapter Questions to consider: –What is concurrency? –How do C++11 threads abstract independent computations? –Why and when should you use multi-threading?