Overview
👋 Hello, USC! This website was created to support fellow students at the University of South Carolina who are currently taking, or planning to take, CSCE240: Advanced Programming Techniques. Just as CSCE145 and CSCE146 have dedicated websites, I felt that CSCE240 deserved one too!
In general, I believe that every programming course should have a modern website. I think of this project as a way to help 🕸️ “Webify” USC.
What This Website Is
Section titled “What This Website Is”This website serves as both a preparation tool and a quick reference tool for CSCE240. Key technical terminology introduced in the course is presented with straightforward explanations, often drawing on concepts from CSCE146.
You’ll also find code snippets which you can copy into your editor, complete with expected terminal outputs for verification. Below are examples of 4 files to paste code in, along with the expected terminal output. 😊 Don’t worry if you don’t understand the code or the filenames, we’ll get to that later!
flags = -std=c++17 -Wall
hello.o : hello.cc hello.h g++ $(flags) -c $<
driver.o : driver.cc hello.h g++ $(flags) -c $<
driver : driver.o hello.o g++ $(flags) $^ ./a.out
clean: rm *.o a.out// Copyright 2024 CSCE240
#ifndef HELLO_H_#define HELLO_H_
void GreetWorld();void GreetSpanish();
#endif// Copyright 2024 CSCE240
#include "hello.h"
#include <iostream>
using std::cout;using std::endl;
// Function to greet the worldvoid GreetWorld() { cout << "Hello World!" << endl; }
// Function to greet the world in Spanishvoid GreetSpanish() { cout << "¡Hola Mundo!" << endl; }// Copyright 2024 CSCE240
#include "hello.h"
int main() { GreetWorld(); GreetSpanish(); return 0;}make driverg++ -std=c++17 -Wall -c driver.ccg++ -std=c++17 -Wall -c hello.ccg++ -std=c++17 -Wall driver.o hello.o./a.outHello World!¡Hola Mundo!Recommended Folder Structure
Section titled “Recommended Folder Structure”To keep your code organized throughout the semester, the following folder structure is recommended for this course. While not mandatory, using this structure can make navigating and managing your files much easier as the class progresses.
DirectoryCSCE240
DirectoryAssignments
DirectoryAssignment01
- program.cc
- program.h
- Assignment02
- …
DirectoryLectures
DirectoryLecture01
- driver.cc
- makefile
- program.cc
- program.h
- Lecture02
- …
DirectoryTest
- algorithms.cc
- algorithms.h
- driver.cc
- makefile
DirectoryTutorials
- 01Structure
- 02InputOutput
- …
What This Website Is Not
Section titled “What This Website Is Not”This website is NOT a substitute for lectures. The summarized concepts and coding snippets do not replace the thorough explanations nor the long coding examples provided during lectures.
Feedback
Section titled “Feedback”Enjoying the site? Disliking the site? Did this site help you with the course? Want to see any new features added? Send me a message on Github or notify the professor with your feedback. 🚀