Homework problems are due by 5:00 pm on the date indicated. Homework assignments will consist of two types of problems:

Analytical problems:

  • Show your work. If you used a calculator or computer to help solve a problem, state what you used.
  • Write your answers legibly (or type them out). I will take off points for problems that cannot be read.

Programming problems:

  • All files must have your name in the comments, and all functions must be commented to fully describe arguments and outputs.
  • If specified in the assignment, your file names must match those requested, to simplify grading.
  • For all C++ problems, you must enclose a corresponding Makefile to compile your program(s) using only make at the linux command line.
  • Programming problems must be turned in via your personal Git repository on Bitbucket, in subdirectories of the main repository directory with names HW1, HW2, etc. Do not turn these in by email. For a very basic Git tutorial, see our Git tutorial page.

I recommend that students work together to discuss general approaches for problems. This may include general proof strategy, general code organization, or explanation of topics from lecture or the textbook. However, specific details on solving problems or implementing programs must not be discussed with anyone except the instructor. All work turned in for credit must represent your own individual effort, and must be in keeping with the SMU Honor Code.

Linux/C++ Introduction

  • Do the Linux tutorial: (do by 8/26, not turned in)
  • Do sessions from the 2015 SMU HPC workshop: (do by 8/31, not turned in)
    • session 2: Do the sections “Getting started,” “Linux Processes” and “Compiled programs”
    • session 3: Do the sections “Makefiles” and “Version control systems”
    • session 4: Do the C++ version of each exercise