INFSCI 0015 "Data Structures and Programming Techniques
(Spring 2001, CRN 28006)
[ Formal Data | Course Tools | Syllabus & Schedule | Course Books | Course Materials |
CourseInfo | Links
]
INFSCI 0015 Course Tools
CourseInfo
The key tool for the course is CourseInfo 3.0 Course Management System, a product of Blackboard, Inc.
The complete set of course materials
is available on the course site developed with the CourseInfo system. You need to have Pitt computer account to login to CourseInfo site.
C Development Tools
To complete the course you will need to write and debug C programs. To do that you need either
- an interactive development environment (IDE) for C or C++, such as Microsoft Visual C++
- an editor (wordpad would work, but there are better editors for C) and a C compiler.
A Free Simple IDE
We strongly recommend you using LCC-Win32 is a relatively simple IDE with a nice C-oriented editor
and a possibility to trace program execution. This IDE is easy to learn and use.
Also, it is free - so you can install it on your home computer. This is the IDE that the instructor will use through the course to
demonstrate multiple examples.
LCC-Win32 also includes as a part Princeton's line-based C compiler lcc
.
The installation of LCC-Win32 is simple. Just run the downloaded lccwin32.exe file and the instalation program will do the job.
Do not forget to add c:\lcc\bin
to your system's path if you plan to use line-based compiler lcc.exe in addition to IDE (it is not necessary).
Other IDEs for PC
There are a number of professional IDEs that you could use to design and debug C programs. If you have some programming experience,
you are welcome to use one of the professional IDE that are installed on all computers in Pitt Computer Labs: Microsoft Visual C++ (A part of the Visual Studio)
or Borland C++. You can get at least one of these IDE as a part of the campus software package.
Students taken this course previously have found Borland C++ more friendly and intuitive than Visual C++.
When using any professional IDE, make sure that you use only ANSI C features - none of C++. Your assignment will be
compiled with plain C compiler. C++ constructs will be simply considered as syntax errors.
An IDE for Macintosh
In the past the instructor used visualization system Leonardo
to demonstrate execution of example programs in the classroom. It is a public domain software for Macintosh. Leonardo also
doubles as a complete IDE for C. So, if you have
Macintosh, you could download Leonardo
and use it for all your courseworks. It is very easy to install and use but cover all your course needs.
Using an editor and a compiler
An editor-compiler pair is a simple substitution for IDE. It is easier to use, but this option provides little debugging support.
We do not recommend this option unless you have special reason to use it. Here are some free software options for this way.
C Compliler
Using a traditional line-based C-compiler is very easy and matches the explanations in the course books.
We recommend you to use line-based C compiler lcc
that is a part of LCC-Win32. If you use an older DOS-based computer, you could use
the old Turbo-C compiler that is very small and covers all your needs.
Program Editor
You can use any text editor that you are familiar with.
Notepad and Wordpad that belong to Windows accesoiries would work (if you are using WordPad, make sure that your programs
are saved as textfile with suffix .c). If you want a little bit more comfort and functionality, use one of the following free
editors that are specially designed for editing programs.
Visualization Tools
Visualization tools will let you to look inside the working program. Unfortunately, there is not relevant visualization environment for C on Windows platform.
You could, however, use the following two options.
Jeliot
Jeliot is a great visualization system for beginner-level programs . Jeliot works with Java, but for the language subset that we use for our course, there is a very
simple mapping from C to Java.
Algorithm Animation
There is a number of specialized algorithm animation applets. You can find relevant links in the "Links" section. Using animations is a great way to understand algorithms.
Copyright © 2001 Peter Brusilovsky