17-08-2013, 03:34 PM
C++ Language and Paradigms
Language and Paradigms.ppt (Size: 107.5 KB / Downloads: 19)
The course focuses a lot on C++
But also on general programming issues it raises
C++ is a multi-paradigm language
Procedural programming with functions
Object-oriented programming with classes
Generic programming with templates, typedefs
The course structure lets us explore these in parallel
Comparison to C
Adds higher-level features, keeps lower-level ones
Comparison to Java
Many similar ideas but with different nuances
References/pointers, inheritance, access restrictions
Gives a less abstract view of the underlying platform
Approach We’ll Take in CSE 332
A key goal is to expand & refine your mental models
For C++ mainly, but also for programming in general
Notice and try out new ideas, share them, discuss them
Challenge your understanding in as may ways as you can
If you don’t remember every detail at first, that’s ok
We’ll revisit concepts and techniques from different angles
Try to refresh your memory early and often
Apply what you learn, early and often, towards mastery
We’ll work together to build understanding in stages
First as a consumer of an approach (can you use it?)
Then understanding it thoroughly (when can you use it?)
Then as a contributor to the approach (can you expand it?)
Topic Areas Covered This Semester
C++ program basics
Variables, types, control statements, development environments
C++ functions
Parameters, call stack, exceptions
C++ memory
Addressing, layout, management
C++ classes
Encapsulation, abstraction, inheritance polymorphism
C++ generics
Overloading, templates, interface polymorphism , associated types
C++ STL
Iterators, algorithms, containers, functors
Introduction to Design Patterns
And how to combine them to design programs