CSCE 121-509, 510, 511, 512 Introduction to Program Design and Concepts Dr. J. Michael Moore Spring 2015 Based on slides created by Bjarne Stroustrup and Jennifer Welch
1 PROGRAMMING
Discovering how, in principle, a problem can be solved by a computer Programming Translating this solution into a form (a program, or software) that can be executed by a computer Discovering how, in principle, a problem can be solved by a computer
Our civilization runs on software Most engineering activities involve software Most programs do not run on things that look like a PC…
Aircraft Communication Control Display Signal Processing Monitoring
Ships Design Construction Management Monitoring Hull Design Pumps
Energy Control Monitoring Analysis Design Communications Manufacturing Vizualization
Phones Voice Quality User Interfaces Billing Mobility Switching Reliability Provisioning Images
2 WHY C++?
C++ allows direct expression of ideas from many application areas C++ is most widely used language in engineering areas C++ is precisely and completely defined by an ISO standard C++ is widely available Concepts you learn with C++ are directly applicable to many other languages
Where is C++ Used Mars Rovers, Animation, Graphics, Photoshop, GUIs, OS’s, Compilers, Slides, Chip Design, Chip Manufacturing, Semiconductor Tools,…
3 ABOUT THIS COURSE
Introduces programming with several different styles Introduces fundamentals of good software design Uses C++ as the specific tool for practicing these concepts
At the end of the semester: You will be able to write small colloquial C++ programs You will be able to read much larger C++ programs You will be able to learn the basics of many other languages by yourself You will not be an expert programmer, C++ language expert or expert user of advanced libraries
Let’s look at the syllabus…