Intro to Programming¶
Estimated time to read: 7 minutes
Learning Objectives¶
- Understand the fundamental concepts of programming and computer science;
- Practice how to solve problems programatically using C++;
- Use tools to write and compile C++ programs;
- Code, document, test, and implement a well-structured, robust computer program using the C++ programming language.
- Write reusable modules (collections of functions).
- Use version control to manage your code;
- Use the debugger to find and fix bugs in your code;
- Understand the basics of file input/output;
- Work in groups to solve problems;
Learning Outcomes¶
- Be able to understand computer science concepts and terminology;
- To describe the basic components of a computer system and their functions;
- Differentiate between the various types of programming languages;
- To describe and use software tools in the programming process;
- Use modern concepts and principles of C++ programming language;
- To design, code, test, and debug a computer program using the C++ programming language;
- To demonstrate an understanding of primitive data types, values, operators and expressions in C/C++;
- Manage and manipulate files in C++;
- Deliver a full working project collaboratively;
Schedule¶
Warning
This is a work in progress, and the schedule is subject to change. Every change will be communicated in class. Use the github repo as the source of truth for the schedule and materials. The materials provided in canvas are just a copy for archiving purposes and might be outdated.
Relevant dates for the Fall 2023 semester:
- 09-13 Oct 2023 - Midterms Week
- 20-24 Nov 2023 - Thanksgiving Break
- 11-15 Dec 2023 - Finals Week
Week | Date | Topic |
---|---|---|
1 | 2023/08/28 | 1. Introduction, 2. Tools for first Program |
2 | 2023/09/04 | Data Types, Arithmetic Operations, Type conversion |
3 | 2023/09/11 | Conditionals, Boolean and Bitwise Operations |
4 | 2023/09/18 | Loops, for, while, goto and debugging |
5 | 2023/09/25 | Functions, Base Conversion, Pointers, Reference |
6 | 2023/10/02 | Streams, File IO |
7 | 2023/10/09 | Midterm |
8 | 2023/10/16 | Arrays, Vectors, String |
9 | 2023/10/23 | Recursion |
10 | 2023/10/30 | Sorting |
11 | 2023/11/06 | Structs, Unions, Enumerations |
12 | 2023/11/13 | Work sessions |
13 | 2023/11/20 | Thanks giving week |
14 | 2023/11/27 | Work sessions / Review |
15 | 2023/12/04 | Review / Presentations |
16 | 2023/12/11 | Finals |
References¶
10th edition Gaddis, T. (2020) Starting out with C++. Early objects / Tony Gaddis, Judy Walters, Godfrey Muganda. Pearson Education, Inc. Available at: https://research-ebsco-com.cobalt.champlain.edu/linkprocessor/plink?id=047f7203-3c9c-399b-834f-42cdaac4c1da
9th edition Gaddis, T. (2017) Starting out with C++. Early objects / Tony Gaddis, Judy Walters, Godfrey Muganda. Pearson. Available at: https://discovery-ebsco-com.cobalt.champlain.edu/linkprocessor/plink?id=502e29d6-3b46-38ff-9dc2-65e79c81c29b
- C++ early objects. Amazon (Champlain: 9th 10th)
- Modern C++ Programming
- learncpp
- cpluslus
- cprogramming
- programming-books
- google style guide
- riptutorial
- cpp manual
- cpp core guidelines
- rooksguide
- cpp best practices