Course materials

Student Responsibilities

NOTE: there will be NO incompletes given for any reason. If you miss sufficient work that you cannot catch up, you will have to officially Withdraw from the course and take it over.

Programming requirements

The only acceptable environment for programming is either the TJW Linux system or Windows (depending on specific lab/project assignments).
The MINGW and Cygwin environments and their corresponding compilers may require include files or library routines that are not fully compatible and are therefore unacceptable places to be doing your work.
Code::Blocks is not acceptable for building/running code as it is outdated and does not support all the facilities we will use.
Solaris, tablets and Apple systems are also not valid environments.
Additionally, the un-approved environments provide timing results that are either not consistent with the acceptable systems or possibly not valid at all.
The Linux systems on the G7 machines is NOT acceptable for your Projects. They MUST be compiled and run on the TJW systems. You will be asked to demonstrate this to the TA or CA.
The only approved IDE for Windows is Microsoft's Visual Studio, available free for all students registered in a CS course. Code written and running on Mac OS DOES NOT ALWAYS WORK on Linux!!! You will NOT be given time to re-write it.

All Projects MUST be completed to pass the course. Completion means the programs must compile with no compiler messages above the Warning level and must run without Severe errors (errors that force program termination, such as Segfault).

For CS350, we provide a lab room for you with all you need and it is on your class schedules. You can use those machines to CONNECT to the TJW systems, using programs such as Q3270 and C3270. You can use the PODS for Windows. All PODS systems have Visual Studio on them. Be sure to save tyour files on your H: drive so they will be available all the time. We provide the TJW Linux environment especially for you to be able to modify the O/S and be able to do it remotely. Please comply with these requirements. The TAís do not have time to try to figure out which system you used and may test with whichever system they feel like using. For CS350: Matrix-multiply with Processes, is Linux specific and MUST use the shmget and shmat functions properly. All code must compile and run UNCHANGED on both Windows and Linux.

Note that the Visual Studio environment AUTOMATICALLY sets a pre-processsor variable called WIN32, which you may test in your program to decide which "include" files to use. For example:
#ifndef WIN32
#include <sys/times.h>
#include <unistd.h>
That means you may only use pre-processor code or variables to guide the compiler as to which includes to use. You may NOT use them to determine which code to compile, since all projects (except MMWP for CS350) are to be system-neutral.
Unexcused late work of any kind will receive a zero. No incompletes will be given, except in cases of validated excuse. Official documentation is required for all excuses.



All Projects must be done by their announced due dates. After that, they will receive a significant penalty.


All grades in the following table are AFTER any curving.

Grade scale
94-100=A 90-93.9=A- 87-89.9=B+ 84-86.9=B 80-83.9=B-
77-79.9=C+ 74-76.9=C 70-73.9=C- 60-69.9=D 0-59.9=F

Grade content

Quizzes, Homework & Labs20%
Midterm Exam25%
Final Exam20%

Grade Requirements

SOME grades may be curved, NONE will be dropped. An average grade of 70 on the homework assignments, quizzes (if any), Projects and Labs is required to pass the course. The overall course grade must be 60 or above. All Projects must be submitted and must receive a grade of 50% or better. No exceptions.
See the
syllabusfor more information about the course content.

Latest change date: unknown. You should update your browser or enable Javascript to be able to see the latest change date.