Resources
This page contains various resources on where to get help, NASM, Eclipse, and UMBC's computing environments.
Where to Get Help
- Course Staff — You are welcome to stop by any staff member's office hours.
-
Piazza Project Forums —
We are trying a new approach this semester, and will be using the Piazza
discussion forum site for providing help with projects.
This will replace the Blackboard discussion forums that we have used
in the past. In the next few days, we will be enrolling all of you
into the system--more information forthcoming.
Forums are available for both general topics and specific projects. Students are encouraged to ask and answer questions. This is your forum and a chance to help each other. It will be monitored periodically by one or more of the instructors. This is simply to make sure of things such as incorrect information being posted, "too much help" (e.g. code) being given, or a point that everyone seems to be misinterpreting or not understanding. This is your chance to help each other out, with a little help from instructors. Please make sure that you o not use the forums as the place to ask questions that you should be going to your instructor, TA, or a CS Help Center tutor for. Also note that we wish to keep the Piazza forums focused on technical matters–please refer to the syllabus for more on our Piazza policy.
-
Computer Science Help
Center — first-come first-serve tutoring for select CMSC
courses (including CMSC 202). The tutor calendar for the CS Help
Center is located here.
[NOTE: we are not sure yet whether the Help Center will be open this term] - UMBC Division of Information Technology (DoIT) — help with your GL account
- Linux User's Group (LUG) — the LUG typically has an installfest each semester to assist in installing Linux and maintains an active mailing list where people ask & answer Linux questions.
Assembly Language Programming
- Help with the submit command
- NASM on linux.gl.umbc.edu.
- NASM documentation in HTML, PDF, Postscript and plain text.
- Using gdb for Assembly Language Debugging.
- System Calls in Linux Assembly.
- C Function Call Conventions and the Stack
- Official NASM site
- Intel 64 and IA-32 Architectures Software Developer Manuals
- Local copies of 2004 Edition of IA-32 Intel Architecture Software Developer's Manual
- Volume 1: Basic Architecture (3.1 MB)
- Volume 2A: Instruction Set Reference (A-M) (2.1 MB)
- Volume 2B: Instruction Set Reference (N-Z) (1.7 MB)
- Volume 3: System Programming Guide (5.5 MB)
C Programming
- Essential C (A 45-page summary of the C language from the Stanford CS Education Library.)
- C FAQ Index
- Some C books, if you like textbooks.
(These are optional and are cheap, if you buy used older editions.)
- The C Programming Language: ANSI C Version,
Kernighan & Ritchie, Prentice-Hall, 1988.
ISBN: 0131103628. - Problem Solving And Program Design in C,
Hanly & Koffman, Addison-Wesley.
Fifth edition or later.
ISBN: 0321409914, 0321535421, 0132936496. - C How to Program,
Deitel & Deitel, Prentice-Hall.
Fifth edition or later.
ISBN: 0132404168, 0136123562, 013299044X. - C: A Reference Manual,
Fifth edition,
Harbison & Steele, Prentice-Hall, 2002.
ISBN: 013089592X.
Note: earlier editions do not cover C99.
- The C Programming Language: ANSI C Version,
Kernighan & Ritchie, Prentice-Hall, 1988.
Digital Logic
- Logisim. A free Java logic simulator: download, documentation.
- Semiconductor Physics for Solid State Electronics (from the HyperPhysics website).
- Contemporary Logic Design by Randy Katz is apparently available on the web in HTML format:
Downloads
- WinSCP — transfer files from your Windows PC/laptop to the GL severs
- TeraTerm Pro with SSH for Windows — a terminal emulator to connect your Windows PC/laptop to the GL servers
- PuTTY — another terminal emulator to connect your Windows PC/laptop to the GL severs
Eclipse Resources
- An Eclipse Tutorial by Dan Hood PPT PDF
- Eclipse Kepler on-line help
Remotely Accessing the GL Servers
- Working from Home — a talk presented by Dan Hood (Fall 2008)