CS245 - OOP with C++ Resources
-
Azure for Students - Signup
Sign up for a free account with Microsoft's popular Azure cloud computing service. Use your Thomas email and receive $100 in credits, good for up to 12 months.
-
Git for Windows Download
Download the Git source control program's installer for Windows. NOTE: The installer download will begin immediately. Run the installer, hit Next on all screens to accept the default settings, then hit Finish.
-
Microsoft Visual Studio 2022: Download
Download the Visual Studio 2022 installer for Windows or Mac from Azure Dev Tools for Teaching (NOTE: login required).
-
Microsoft Visual Studio 2022: Install
Walks you through installing Visual Studio 2022 for developing programs and applications in C#, C++, and/or ASP.NET MVC.
-
Microsoft Visual Studio 2022: Register
Walks you through registering your copy of Visual Studio 2022. Be sure to have your Product Key handy!
-
Microsoft Visual Studio 2022: Running for the First Time
Walks you through the process of running Visual Studio for the first time. Includes links with tutorials to help you get started using the program.
-
Qt Download (Open Source)
Download the latest version of Qt here. Choose the Online installer that matches your OS.
-
Qt Install (Open Source)
Walks you through the process of installing Qt, assuming you have downloaded the Qt Online Installer. Windows Users: be sure to follow these directions and install the MinGW compiler. DO NOT INSTALL ANY OF THE VISUAL C++ Compilers
-
SQL Server 2019: Download
Walks you through the process of downloading SQL Server 2019 Standard for free from Azure Dev Tools for Teaching.
-
SQL Server 2019: Install
Tutorial from TechDirectArchive that guides you through the process of installing SQL Server. NOTE: the tutorial assumes you've already downloaded the SQL Server 2019 Developer installer from Azure Tools for Education.
-
SQL Server Management Studio (SSMS) Download
Download the SQL Server Management Studio tool to manage your local or Azure-based SQL Server databases.
-
Visio 2019: Download & Install
Download the Visio Professional 2019 64-bit installer from Azure Dev Tools for Teaching (login required). Don't forget to copy the Product Key!
-
Visio 2019: Register
Walks you through registering your copy of Visio Professional 2019. Be sure to have your Product Key handy!
-
C++ Resources Network
Comprehensive website with references, tutorials, forums, and other information on the C++ language.
-
C++:
<random>
Library Reference
Reference for the
<random>
library with improved random number generators introduced in C++ 11. Includes an example that simulates rolling a die. -
C++: Type Casting Operators
Tutorial and reference on the different C++ casting operators. Includes an example using the general ( ) casting operator.
-
C++:
const
Declaration: Why & How
Reference explaining the purposes of C++'s
const
keyword and how to use it. -
C++:
ctime
Time Functions Reference
Reference for time-related functions and types in C++. Includes
struct tm
,time_t
,time()
,asctime()
, and others. -
C++:
map
Class Template Reference
Reference for C++'s
map
data structure class template -
C++:
string
Class Reference
Reference for C++'s
string
class functions -
C++:
vector
Class Template Reference
Reference for C++'s
vector
data structure class template -
C++: Converting Strings and Numbers
Reference that provides several examples of how to convert standard
string
objects to numeric types, and vice versa. Includes the C++11 functions (stoi
,stod
), as well as older functions (atoi
,atof
) inherited from C. -
SEI CERT C++ Coding Standard (Security)
Online book from Carnegie Mellon's Software Engineering Institute detailing recommended coding practices and rules for writing secure C++ applications.
-
C++: How to Sort a
vector
of Custom Objects
Tutorial explaining how to implement a custom class whose objects can be sorted by the standard C++
sort
algorithm. Provides examples usingsort
and operator overloading, as well as a function object. -
C++: How to Use Lambda Expressions to Sort Custom Objects
Tutorial on using lambda expressions (introduced in C++ 11) in lieu of predicate functions or function objects to sort a vector of custom objects. Also shows you how to use the capture list to allow for custom sorting of those objects.
-
C++:
rand()
andsrand()
Functions
Tutorial on using the older C++
rand()
andsrand()
functions to generate pseudo-random numbers. -
Learn C++ Tutorials
Comprehensive tutorial site that covers all of the C++ programming topics one would expect from a textbook. Each topic includes examples and a discussion forum with the website author.
-
Draw.io
A free online diagramming software alternative to Microsoft Visio for building UML, E-R, and network diagrams, as well as process and organizational charts.
-
Entity-Relationship (ER) Diagram Tutorial
Tutorial that describes how to create an entity-relationship (ER) diagram to design a database. Describes the components of an ER diagram, as well as the symbols for different notation schemes. Provides a full example in crow's feet notation.
-
Entity-Relationship Diagrams (Visual Paradigm)
Tutorial on entity-relationship (ER) diagrams using crow's foot notation to design a relational database schema. Walks through the entire design process - from listing entities in the Requirements stage to building the logical and physical models.
-
System Use Cases: an Agile Introduction
Discusses and presents both informal and formal system uses cases used in agile projects.
-
UML 2 Class Diagrams: an Agile Introduction
Presents the first few iterations of a class diagram for a university enrollment system. Good example that not only uses simple, standard UML syntax, but also discusses the importance of developing diagrams iteratively.
-
Azure: Controlling and Granting SQL Database Access
Discusses how to give people and applications access to your Azure SQL database, including the use of administrative accounts, groups and roles, server logins, and database users . Also discusses (with examples) how to grant limited user permissions using built-in stored procedures, as well as security policies and restrictions that govern which users can perform sensitive operations.
-
Azure: Design your first Azure SQL database
Microsoft tutorial on setting up a SQL Server database server in your Azure account, as well as designing a database using SQL Server 2016 Management Studio. NOTE: Your Azure for Students license lets you set up one database per region (e.g., Eastern U.S., Southern U.S., Western Europe). You can still set up multiple databases in your account, as long as you choose a unique region for each instance.
-
Creating SQL Logins and SQL Users on your Azure SQL Database
MSDN blog post tutorial on how to create logins and users for an Azure SQL Server and Database. Also shows you how to assign specific database roles to users. NOTE: the tutorial was written for an Azure database, but the same SQL commands, roles, and stored procedures apply to local SQL Server databases, as well.
-
How to Generate Database Scripts With Data In SQL Server
Brief tutorial from Nutty About Hosting showing you how to use SQL Server Management Studio to generate SQL script with a database's schema AND data.
-
Securing Your Azure SQL Database
Tutorial on securing your Azure SQL database at different levels: firewall settings; secure connection strings; user management; encrypting connections; and auditing database activity.
-
Using SQL Server Management Studio (SMSS): Quick Start
Brief Microsoft tutorial on connecting to and querying Azure-based SQL Server DBMS instances. The same techniques and commands apply to local databases.
-
Git: Grady's GitHub Repositories
Link to the instructor's GitHub repositories for Thomas College exercises and labs.
-
Git: GitHub for Visual Studio Documentation
Tutorials on using the GitHub for Visual Studio Extension from the project's official GitHub account. Helps you set up the extension; push repositories to your GitHub account; committing changes, and making pull requests to owners of another repository to "pull" your changes into their original repository for consideration.
-
Git: Setting Up and Using GitHub in Visual Studio
Tutorial showing you how to install and configure the GitHub Extension for Visual Studio 2017. Walks you though setting up local and remote git repositories, committing code changes, and pushing those changes to your GitHub account. NOTE: feel free to choose any project type...it doesn't have to be an ASP.NET application.
-
Git: Working with GitHub Fork in Visual Studio
Tutorial showing you how to fork other developers' GitHub projects to your own GitHub repository. Also shows you how to clone your fork to your local machine; create upstream remotes; pull updates from the original project; push your local changes to your remote fork; and create pull requests to the original project.
-
Qt & Git: Committing Changes
Brief tutorial showing you how to commit code changes to your Qt project's local Git repository.
-
Qt & Git: Configuring and Pushing to a Remote Git Respository
Tutorial showing you to configure a remote Git repository for use with a Qt project, then push your commits to that repository. Assumes you have created a local Git repository for your project.
-
Qt & Git: Creating a Local Git Repository
Brief tutorial showing you to create a local Git repository for an existing Qt project.
-
Qt & Git: How to Configure Git
Brief tutorial walking you through how to configure Qt to use Git. This assumes that you have downloaded and installed Git for Windows from the Git website.
-
Using Git with Visual Studio
Tutorial on how to use version control with Git inside of Visual Studio. Learn about creating, cloning, and syncing repositories; workflows and branching; pushing and pulling commits; and merging changes and viewing version histories.
-
Introduction to Qt (VoidRealms Video)
YouTube video series by Bryan Cairns (@VoidRealms) demonstrating all facets of developing a GUI with Qt Creator. The link takes you to Part 1 of the series.
-
Qt:
QCheckBox
(VoidRealms video)
Short video tutorial demonstrating how to set up and use check boxes (
QCheckBox
) in your Qt GUI application. -
Qt:
QFileDialog
: HowTo
Video tutorial demonstrating how to set up and use a file dialog box (
QFileDialog
) to open a file in Qt. -
Qt:
QMessageBox
(VoidRealms video)
Video tutorial demonstrating how to set up and use a message box (
QMessageBox
) in your Qt GUI application. -
Qt:
QPushButton
: HowTo
Tutorial and quick reference for making and using basic buttons in Qt.
-
Qt:
QRadioButton
(VoidRealms video)
Short video tutorial demonstrating how to set up and use radio buttons (
QRadioButton
) in your Qt GUI application. -
Qt:
QStringList
(VoidRealms video)
Video tutorial demonstrating how to use
QStringList
objects in your Qt GUI application. -
Qt:
QTimer
Class Tutorial
Tutorial walking through how to set up a
QTimer
timer to run at a fixed intervals in a Qt application. -
Qt: Basic Programming Tutorial
A step-by-step tutorial introduction to Qt programming using Qt Creator.
-
Qt: Calculator Form Example
Qt sample code for a very simple calculator GUI application
-
Qt: Converting Text and Numbers to and from QString
Reference that provides several examples of conversions among
QString
objects, standard strings, and numbers. Also provides an example of how to format numbers usingQLocale
. -
Qt: Model/View Tutorial
An introduction to the Model/View architecture design pattern used by Qt Widget applications, separating data from presentation
-
Qt: Signals and Slots (VoidRealms video)
Video tutorial explaining Qt signals and slots: events and event handlers
-
Qt: SQLite database with Qt - step by step
A tutorial explaining how to use Qt to connect to a database and run queries. The author uses SQLite, but you can easily adapt what she does to SQL Server and MySQL
-
Qt: Style Sheets Examples
Qt documentation page with many examples of using a style sheet to control the appearance of GUI widgets. Particularly helpful as a reference for Qt-specific CSS selectors.
-
Intro to SQL @ Khan Academy
Self-paced course that introduces basic SQL queries, queries with Booleans and criteria, joins, and table modification. Provides examples and tests your knowledge of SQL and databases.
-
SQL Tutorial &: Reference - W3Schools
Less of a SQL tutorial and more examples and reference. Covers SQL syntax and table design, with references for specific DBMS. Best of all, you can practice writing SQL queries online with the Northwind database.
-
Visual Studio: Changing the Default Projects Save Location
Quick reference page showing you how to change the default folder location in which Visual Studio saves your projects.
-
Visual Studio: Cleaning Your Projects
Tutorial explaining how to clean your Visual Studio projects prior to submitting them to Moodle.
-
Visual Studio: Getting Started
Quick introduction and tour of the main parts of Visual Studio: the code editor; Solution Explorer; Properties window, toolbars and menus; Team Explorer, and the Output window.
-
Visual Studio: Getting Started with C++
Short introduction tutorial on how to create a simple " Hello, World " C++ application using Visual Studio. Great place to start for beginners!
-
Visual Studio: Personalizing the IDE
Links to reference pages on how to personalize your Visual Studio interface: change fonts and colors; customizing menus and toolbars; and customizing window layouts.
-
Visual Studio: Solutions and Projects
Introduction tutorials on solutions and projects in Visual Studio. Helpful sections include creating solutions and projects; and adding and removing items from projects;
-
Visual Studio: Submitting Your C# and C++ Projects
Quick help page explaining how to submit your C# and C++ projects from Visual Studio.
-
Visual Studio: Writing and Refactoring Code (C++)
Discusses the different tools in Visual Studio to help you write and change C++ code. Quick introductions to IntelliSense; code snippets; the Class Wizard; the refactoring tools in the Quick Action menus and Edit > Refactor menu; QuickInfo tooltips; Peek Definition; and the Quick Launch search bar.