You can see my outline here: http://homepage.mac.com/s_lott/books/nonprog/html/index.html
This presentation order is based on experience teaching C, Ada, C++, PL/SQL (and even a COBOL course once).
There's a great book, that has a sensible pedagogical ordering of concepts.
R. C. Holt, G. S. Graham, E. D. Lazowska, M. A. Scott. Structured Concurrent Programming with Operating Systems Applications. 1978. Addison-Wesley. 0201029375
http://openlibrary.org/b/OL4570626M/Structured_concurrent_programming_with_operating_systems_applications