Multi-Paradigm Programming in C++ Course Overview

e81 cse 428s n.w
1 / 11
Embed
Share

This course covers different programming paradigms in C++ including procedural, functional, object-oriented, and generic programming. It explores how C++ language and library features support these paradigms, incorporating details from the C++11 standard and beyond. Expectations, course environment, studio sessions, and recommended readings are also highlighted.

  • C++
  • Programming Paradigms
  • Course Overview
  • Multi-Paradigm
  • CSE

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. E81 CSE 428S: Multi-Paradigm Programming in C++ Course Introduction Department of Computer Science & Engineering Washington University, St. Louis MO Chris Gill cdgill@wustl.edu 1

  2. What is this class about? 1. How different C++ language and library features support different programming paradigms (procedural, functional, object-oriented, and generic) 2. The semantics of those features, including new details from the C++11 standard and beyond 3. How to combine those programming paradigms as you design solutions to studio exercises and assigned labs 2 CSE 428S Multi-Paradigm Programming in C++

  3. Course Environment Lectures & studio/lab time will be in Urbauer 222 Bring a laptop or use the machines in that lab space We will compile, test, run programs using ssh, g++, and Linux on the Linux Lab machines Widely available and open-source tools/environments We will use other tools available there as well E.g., gdb to step through and debug C++ programs 3 CSE 428S Multi-Paradigm Programming in C++

  4. Expectations This course builds on foundations introduced in CSE 332S towards those used in CSE 532S Students are required to have taken CSE 332S or its equivalent, CSE 504N or be a graduate student and proficient in C++ We will assume proficiency from the first day and will build on those foundations throughout If you have any concerns please do ask 4 CSE 428S Multi-Paradigm Programming in C++

  5. A Typical Class About 20 minutes of lecture discussing that day s readings and the topic for that studio session If a lab is assigned that day as well, covering it too may take a bit longer In-class office hours and studio/lab time Studios Short assignments that offer hands-on experience with the day s topics Graded for completion Reading assignments are typically helpful for competing studios! Complete studios early. Don t fall behind! Studio feedback is also typically relevant for exams and lab assignments Please work in groups of up to 3 students 5 CSE 428S Multi-Paradigm Programming in C++

  6. Textbook for Reading Assignments C++ Primer, Fifth Edition by Lippman, Lajoie, and Moo A fairly comprehensive coverage of (single threaded ) C++ programming Written by experts who have worked with (and on) the C++ language and its libraries for many years Other Optional Readings Some additional readings/topics in the on-line C++ Reference pages may be useful as well 6 CSE 428S Multi-Paradigm Programming in C++

  7. Labs and Exams There will be four lab assignments this semester (numbered 0 through 3) Labs will increase in length, complexity and value as the semester proceeds Two in-semester exams will cover lecture and reading materials, studios and labs Exams are not comprehensive, except where later topics depend on earlier ones 7 CSE 428S Multi-Paradigm Programming in C++

  8. Grading Your grade will be determined as follows, where 90% is at least an A-, 80% at least a B-, and 70% at least a C- (and a passing grade if P/F) Activity Grade Percentage Exam 0 15% Exam 1 15% Studios (numbered 0 through 19) 20% Lab 0 5% Lab 1 10% Lab 2 15% Lab 3 20% 8 CSE 428S Multi-Paradigm Programming in C++

  9. Using the Linux Lab Servers Its best to use an SSH key to access school servers Too many bad password authentication attempts can lock you out All compilation, debugging and testing should be done on a Linux Lab cluster machine Issue the qlogincommand from shell.cec.wustl.edu Add a command to your .bash_profile and .bashrc files to load the correct version of the g++ compiler (and libraries) Details can be found in Studio 0 9 CSE 428S Multi-Paradigm Programming in C++

  10. Studio 0 Sets up shell environment for this course Checks for the right versions of the tools you ll be using throughout the semester Builds/runs a simple hello, world! program Extends the program with additional language and library features you ll all semester Studios 0 through 11 are due by 11:59pm on the night before Exam 0 Submit as soon as each is done so you get feedback and can resubmit any that may be marked incomplete 10 CSE 428S Multi-Paradigm Programming in C++

  11. Lab 0 Defines abstractions for program state Specifically, playing cards and decks of cards Provides operations to modify and check properties of program state Begins our exploration of procedural and functional programming paradigms Establishes foundations used in later labs Due in 2 weeks 11 CSE 428S Multi-Paradigm Programming in C++

Related


More Related Content