Skip to content

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.

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!

makefile
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

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

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.

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. 🚀