Course Promises / Learning Objectives
By the end of the course, you will have developed the
following knowledge and skills:
- To design and implement solutions to large problems using the C programming language.
- To become proficient in using gdb and valgrind to debug and examine program execution state.
- To understand the role of the operating system and some of the abstractions it implements to support efficiently running programs.
- To understand how processes are created and how they can communicate with each other.
- To understand shared memory parallel computing and to be able to "think in parallel" algorithmically.
- To design and implement parallel solutions to programming problems that require synchronization using pthreads.
Student Responsibilities
We have outlined the skills and objects this course promises to provide you.
For this promises to be upheld, you will need to commit towards the policies
outlined below. Comp 398 is somewhat faster-paced than Comp 115, covering a broad
range of topics. To succeed you should:
-
Attend class.
The primary introduction to course material is through class lecture.
Additionally, we often do learning exercises during class, which
give you immediate experience with the material we are covering.
While I am more than happy to help with any material in office hours, priority
will be given to students who attend and participate in lecture. Office hours
are not to make up for missed lecture.
- Come to lab classes prepared.
Lab will introduce new
content and be an opportunity to work in teams on paired assignments.
Lab attendance is mandatory.
- Participate actively in learning process.
Showing up is necessary, but not sufficient to success in the course.
To fully develop your analytical skills, you are expected to participate
in class discussion. This includes asking questions during lecture portions
and engaging your peers during short class exercises. Studies
show active involvement is the number one determinant of student success.
-
Start the assignments early.
I realize this one is not always easy to do, but if you can get in the
habit of doing this, you will be much better off. As the labs get
longer and more difficult, starting early will give you plenty of time
to mull over the lab problems even when you aren't actively writing
your solution.
-
Practice, practice, practice.
The only effective way to
learn the material and pass the quizzes and exams is to consistently
do the labs.
-
Seek help early and often.
Because course material builds
on previous material, it is essential to your success in this class
that you keep up with the course material.