COSC-503: Objects and Algorithms
Summer 2010
“People who know neither programming nor mathematics take for
granted that programming is like mathematics. Yet, it turns out
that English majors are as likely to be as successful at programming
as mathematics graduates are. In practice, the worlds of mathematics
and programming are just about disjoint.”
—M.H. van Emden, Communications of the ACM, 32(12),
p. 1498, December 1989.
Class Time: |
MTWR 3:40–5:30 PM |
Classroom: |
ICC 205A
|
|
|
Instructor: |
Mark Maloof |
Office: |
325 St. Mary's Hall |
Mailbox: |
329A St. Mary's Hall |
Office Hours: |
None for 24–25 academic year.
(or by appointment) |
Syllabus
Assignments and Grading
- Programming Projects, 40%
- Project 1, assigned W 7/14, due R 7/22, 6 points
- Project 2, assigned W 7/21, due R 7/29, 10 points
- Project 3, assigned W 7/28, due R 8/5, 12 points
- Project 4, assigned W 8/4, due R 8/12, 12 points
- Midterm Exam, M 8/26, 20%
- Final Exam, TBA, 30%
- Miscellany (10%)
Graduate Students
- In addition to the above, graduate students must complete a
programming project relevant to their field of study.
Its size and complexity should be roughly equivalent to projects 4 and 5.
It will count for 20% of their final grade.
Students must meet with the instructor before the midterm to discuss
appropriate projects.
Students should begin programming no later than the beginning of
April, and the assignment will be due on the last day of class
at 5 PM.
Grading
string Grades::toLetterGrade()
{
if (grade >= 94)
return "A";
else if (grade >= 90)
return "A-";
else if (grade >= 87)
return "B+";
else if (grade >= 84)
return "B";
else if (grade >= 80)
return "B-";
else if (grade >= 77)
return "C+";
else if (grade >= 74)
return "C";
else if (grade >= 70)
return "C-";
else if (grade >= 67)
return "D+";
else if (grade >= 64)
return "D";
else
return "F";
} // Grades::toLetterGrade
Resources
- Project Grading Sheet
- Safari Tech Books Online: A great place to find e-books
on learing Unix, vi, and emacs.
- vi Reference Card
- emacs Reference Card
- gdb Reference Card
- How
to Write Doc Comments for the Javadoc Tool
- doxygen: A documentation system for
C++, C, Java, and other languages.
- Code::Blocks, a free C++
integrated development environment for Linux, Mac, and Windows.
- Eclipse,
a free integrated development environment (IDE) for Linux, Mac, and Windows.
- The vi Lovers Home Page Oh, yeah...
- vi Information Links
- Lemmy, the Unix vi editor for Windows
- More vi clones for Windows
- Useful Unix Commands
- HOWTO: Log in and transfer files to seva from MacOS or Linux
- HOWTO: Log in and transfer files to seva from Windows
- HOWTO: Create and compile files under Unix
- COSC-071 Frequently Asked Questions
- WinSSH: a secure
telnet and ftp client for Windows (educational license)
- PuTTY:
a free secure telnet and ftp client for Windows
-
E-ssentials: Student Guides to Technology at Georgetown University
-
Guide to Unix Computing (Adobe Acrobat file)
- C++ and Unix books
- Reiter's Bookstore, a great local
place to find technical books
Marginally Interesting Links
Copyright © 2019 Mark Maloof. All Rights Reserved.
This material may not be published, broadcast, rewritten,
or redistributed.