Course focuses on object-oriented programming in C++. Follows APS105 — Computer Fundamentals in C. Followed by ECE297 — Software Design and Communication and ECE345 — Algorithms and Data Structures.
We used the Problem Solving with C++ book by Walter Savitch. The textbook (IMO) is fairly useless outside of a passing reference. Prof Emara also wrote a book with exercise problems.
Concepts covered
Content that is more or less the same as APS105 is omitted here.
- UNIX
- Command line
- Reference
- Code organisation (C) and compilation
- Header file
- Make (not testable)
- Preprocessor (
#include
,#ifndef
,#define
) - Stream
- Standard IO (
<iostream>
) - File IO
- Stringstream (
<sstream>
)
- Standard IO (
- Buffer
- Dynamic memory allocation
- Object-oriented programming
- Access modifier (
public
,private
) - Encapsulation
- Inheritance
- Access modifier (
- Method
- Qualifiers and specifiers
- const
- Storage-class specifier (
static
)
- Data structure
- Recursion
- Algorithm
- Time complexity
Submission
To compile a C++ file, we can execute:
g++ -std=c++11 -g –Wall hello.cpp –o hello
./hello
Or alternatively execute make
.
We can:
- Check against test cases with:
~ece244i/public/exercise 3 parser
. - Submit with:
~ece244i/public/submit 3
after copying all files into one directory.
Observations
probably a good idea to mentally check scoping/access when doing practice problems (ESPECIALLY WITH DESTRUCTORS). i also seem to forget to use getters/setters in my code
array of pointers → double pointers