CS 610 : Handouts
Copyright by A. Gerbessiotis (2006-2014).
All rights reserved.
B1. Homeworks (Programming Assignments) and Exams
- Bonus Points Do you want to collect 20 bonus points? Fill in and submit
THIS FORM.
no later than end of day (23:59:59) of the third Thursday of the semester.
Problem sets with solutions are periodically posted in the protected area. You don't
get credit for doing these problem sets!
Before you do any one of the programming assignments, read Handout 2 below (Section B2b).
For due dates, please check the syllabus, page 2.
-
Homework 1 (aka Programming Assignment).
(**** 01/27/2014 ****).
-
Homework 2 (aka Programming Assignment).
(**** 02/17/2014 ****).
-
Homework 3 (aka Programming Assignment).
(**** 03/31/2014 ****).
B2. Handouts
B2a. Syllabus and Course FAQ
- Brief Course Syllabus (also in Handout 1)
(**** 01/27/2013 ****).
- Handout 0: Frequently asked questions.
Note that the password of the protected page is missing (available only in the hard
copy to be handed out on the first day of classes).
(**** 12/16/2013 ****).
- Handout 1: Course Syllabus
(**** 01/27/2013 ****).
B2b. Other Course Handouts
- Handout 2: Programming Guidelines
(**** 12/16/2013 ****).
- Handout 3: Brief Discrete Math Review
(**** 12/16/2013 ****).
- Handout 4: Brief Notes on Asymptotic Notation and Recurrences
(**** 12/16/2013 ****).
- Handout 5: Formulae Collection
(**** 12/16/2013 ****).
B3. Other Reference Material
You may find the following material useful, as far as the
coverage of asymptotic growth of functions and recurrences are
concerned.
- PDF version of Mathematics for Computer Science by A. R. Meyer.
Mathematics for Computer Science
- Introduction to Algorithms (second edition)
by B. Cormen, C. Leiserson, R. Rivest, and C. Stein, McGraw-Hill.
- Computer Algorithms: Introduction to Design and Analysis
by Sara Baase and Allen Van Gelder, Addison Wesley.
- Data Structures and Algorithms with Object-Oriented
Design Patterns in Java
by B. Press, Wiley.
B4. Source code
Source code cited in the programming exercises. The C++ version first:
-
misc/Source/C++/testing.tar
or
misc/Source/C++/sortgC++.tar
are one of the same and contain three individual files.
On a UNIX system (eg. AFS or Linux) you untar say the testing.tar file by typing
tar xvf testing.tar . On a PC
one could use a file extraction/compression
program such as WinZip to extract its contents.
The tar file contains the following three files that can be retrieved
independently as well.
ATTENTION VISUAL C++ USERS In sortg.cc, you might have to replace INT_MAX by
RAND_MAX and the function call to random() by a function call to rand() to make things work
right.
Note that AFS-based C++ compilers understand C++ files
that have .cc suffixes. If you use Visual C++ you may have to
use .cpp suffixes in filenames for things to work properly..
-
misc/Source/C++/Makefile.
-
misc/Source/C++/bubble.cc.
-
misc/Source/C++/sortg.cc.
The C version is similar in structure.
-
misc/Source/C/testing.tar
or
misc/Source/C/sortgC.tar
are one of the same and contain three individual files.
On a UNIX system (eg. AFS or Linux) you untar say the testing.tar file by typing
tar xvf testing.tar . On a PC
one could use a file extraction/compression
program such as WinZip to extract its contents.
The tar file contains the following three files that can be retrieved
independently as well.
-
misc/Source/C/Makefile.
-
misc/Source/C/bubble.c.
-
misc/Source/C/sortg.c.
B4 new. Source code (experimental, Jan 1, 2014)
This is an updated set of files that can be used for some of the
programming assignments (usually option 1). But you must understand the
code. It fixes some minor problems with the previous set (the standard B4) such
as proper use of size_t over int in two of the parameters of bubble.c or
bubble.cc.
In order to use this version make sure that the second and third arguments of bubble and
qsort coincide in data type. Thus it is size_t and neither unsigned int or int.
Otherwise you might have compilation problems. If an error message pops up about _tstruct etc,
it means you missed includinga ; see sortg.c or sortg.cc prior to the defines.
The C++ version first
-
misc/Source/nC++/newsortgC++.tar
contains three individual files.
On a UNIX system (eg. AFS or Linux) you untar newsortgC++.tar by typing
tar xvf newsortgC++.tar . On a PC
one could use a file extraction/compression
program such as WinZip to extract its contents.
The tar file contains the following three files that can be retrieved
independently as well.
ATTENTION VISUAL C++ USERS In sortg.cc, you might have to replace INT_MAX by
RAND_MAX and the function call to random() by a function call to rand() to make things work
right.
Note that AFS-based C++ compilers understand C++ files
that have .cc suffixes. If you use Visual C++ you may have to
use .cpp suffixes in filenames for things to work properly..
-
misc/Source/nC++/Makefile.
-
misc/Source/nC++/bubble.cc.
-
misc/Source/nC++/sortg.cc.
The C version is similar in structure.
-
misc/Source/nC/newsortgC.tar
are one of the same and contain three individual files.
On a UNIX system (eg. AFS or Linux) you untar say the newsortgC.tar file by typing
tar xvf newsortgC.tar . On a PC
one could use a file extraction/compression
program such as WinZip to extract its contents.
The tar file contains the following three files that can be retrieved
independently as well.
-
misc/Source/nC/Makefile.
-
misc/Source/nC/bubble.c.
-
misc/Source/nC/sortg.c.
For sortg.c or sortg.cc note the following changes. The command-line invocation requires
now two arguments. The former is as before the problem size (number of input keys). The
next argument is the input type: 1 is random integral velues in the range 0 to n or so,
2 is all keys are equal to 10, 3 an increasing sequence, 4 a decreasing sequence and 5 arbitrary
random integral values. One can cause limit changes to the default data type by modifying
the typedef line. The compare function needs to be modified then accordingly.
Last modified Mar 31, 2014, 10:10