Programming Assignments
[Home Page] [Web
Navigation] [(In)FAQs]
[Class Schedule] [Textbook]
[Lecture Slides] [Additional
Coverage] [Supplementary Material]
[Evaluation Areas] [Course
Submissions] [Student
Information]
Unlike
regular assignments, programs
WILL be graded.
Part of this course’s objective is to introduce the student
to C/C++ programming and lay the foundations for the Object-Oriented (C++)
course which follows. However, we have a lot of conceptual material to cover, so
after the first few assignments, there will be very little discussion of the
assignments in class (I will always be available outside of class to assist you
with the assignments).
There may be up to 10 programming assignments (depending on
time; I'm shooting for 5) (See course Schedule for Due
Dates). This essentially means that once we get started with the programming
assignments, you will be expected to constantly be working on a program.
The tentative assignments include:
No. |
Description/Intent |
Topics |
1 |
Bits/Bytes and
ASCII:
A very simple assignment to familiarize you with the C/C++
programming language and to illustrate how bits/bytes
and ASCII are actually
used. |
Bits and Bytes
Basic Data Types
RAM Allocation |
2 |
Basic Operations in C/C++:
An introduction to if statements and basic numeric operations
in C/C++ |
C/C++ Operations
Basic Data Types
RAM Allocation |
3 |
Functions
An extension of the previous program using
Functions |
Functions |
4 |
Program
Controls
An extension of the previous program using while
statements |
C/C++ Operations
Basic Data Types
While Statements |
5 |
Numeric and Character Arrays:
The simplest of user-constructed data types
& manipulation of character arrays
Use of while and for statements
Use of functions |
Numeric Arrays
Character
Arrays
RAM Allocation
Abstract Data Types
Functions |
6 |
User Defined Data Structures:
The Struct datatype |
Structured Data
Objects |
7 |
Searching & Sorting:
Sequential and Binary Searches;
Simple sort algorithms |
Searching and
Sorting |
8 |
Linked Lists
Displaying a list (array) without having to sort it. |
Linked List |
9 |
Linked Lists
and Pointers
As above, but using Pointers |
Pointers |
10 |
Dynamic Memory Allocation and
Binary Trees:
As above but without arrays and using a binary tree
structure |
Dynamic Memory Allocation
Binary Trees |
Each Assignment has multiple parts, generally starting
with nothing more than simply copying the basic code and then adding
(increasingly complex) code to it. The assignment is broken-up into sections
because they are intended as tutorials which guide you through the process of
learning.
CAVEAT:
It is relatively simple to get another student’s code and modify it so that it
looks like you did it. BEWARE:
- This is called plagiarism, and is
considered a Cardinal Academic Sin that can lead to an automatic ‘F’
or even expulsion. At very least, it will lead to a
zero (0) for the assignment -- IF you are lucky (See the student handbook).
- I have been doing this for a
long time, and am very good at identifying programs that have been copied. If
I suspect that you have copied the program, the process is very simple: I send
all copies (A student who gives a program to another student to copy is
considered equally as guilty as the student who copies it) to the Dean of
students, and let him or her deal with it. I am no longer involved. If you
have rationales or excuses, you deal with him or her directly (i.e., please
don’t try and explain it to me: Go directly to the Dean). The Dean’s decision
is final.
- If you spend a lot of time
modifying the copied program, you can probably get away with it. However, if
you had spent the same amount of time in writing the program yourself, you
probably could have completed the program. Why Bother???
- The Quizzes (which count for
much more than the assignments) will include C/C++ programming exercises. If
you complete the assignments on your own, you should have no problems with the
questions. If you use someone else’s code you will probably have a lot of
problems. Ask yourself: “Do I feel Lucky???”
- In the long run, you will not
learn anything. If you later get a job that requires even some programming,
you are out of luck. You will not be able to copy from your co-workers. You
will, however, probably be able to collect unemployment (Employers tend to
much less forgiving).
Detailed Instructions can be found at the
links on the left.
Check the Course schedule for the due dates.
All Programming Assignments will are to be
submitted in hard copy (on paper). More on this later.
This page was last updated on
01/10/05.