APS105F: Computer Fundamentals
Welcome to APS105 - Computer Fundamentals
General Information
APS 105 - Computer Fundamentals - is designed to give you an introduction
to computer systems and their role in problem solving in science and
engineering, and to provide you with the basics for studies in greater depth
in subsequent years.
The course consists primarily of lectures and laboratories.
Major topics to be covered in the lectures include:
digital computer elements and digital computer operation,
problem solving, programming, algorithms, and data structures.
The laboratories will provide you with an opportunity to exercise
concepts introduced in the lectures through a number of programming
assignments using the Java programming language.
Throughout, there will be an emphasis on a programming style that
encourages easier understandability, debugging, and maintenance of programs.
Click HERE for important administrative
information about APS105
Tutorial Room Change, Thursday Nov 30, 4PM
Please note that the tutorial scheduled for SF1013 this Thursday (Nov 30th) at
4PM will be held in SF1105 instead.
Course Review Survey
The last week of the course is a chance to review
important topics and provide more examples.
Here are the survey results.
Last Year's Exam (Fall 99)
Acrobat Format
Quiz and Midterm Information
Here are some old tests for midterms 1 and 2.
Note if you are having trouble with these on ECF,
save them to a file and run the 'xpdf' command on them to
view or print them to a PostScript file. To print the
PostScript file, run one of the 'lpr' commands. Sample
commands are shown below.
xpdf 1999f.quiz1.pdf
lpr -Psf1012 filename.ps
lpr -Psf1106 filename.ps
Newsgroup
The newsgroup information was moved here.
While logged on ECF, here is the best way to read news:
You can read the newsgroup via the NetNews server if you are using
other UofT computers, such as your residence connection or HSE/megabit.utoronto.ca.
Otherwise, set up ssh port forwarding as described here.
Texts and Notes
Recommended Texts:
- Cay Horstmann, Computing Concepts with Java 2 Essentials, Second Edition, John Wiley, 2000.
- John Carter, An Introduction to Computer Science Using Java, available for
$20 from John in Room SF2104. Please contact him to arrange purchase.
- See the errata page for John Carter's notes.
Other Useful Texts:
- Walter Savitch,
Java: An Introduction to Computer Science and Programming,
Prentice Hall, 1999.
This book provides an alternative introductory viewpoint, but
it does not contain enough material for the entire course.
- David Flanagan,
Java in a Nutshell, Third Edition,
O'Reilly, 1999.
This book is more of a reference-style book. It is suitable
for those with C++ experience, or perhaps very experienced C programmers.
Handouts
Lecture Supplements
Labs
- Lab 0 Basic Unix
continuation of the first handout
- Lab 1 Simple Java Programs, marked by Amy Wang
- Lab 2 Loops and Conditionals, marked by Rajinderjeet Minhas
- Lab 3 Methods, questions answered by James MacLean, marked by Sirish Pande
- Lab 4 Arrays, or a printable copy, questions answered by Guy Lemieux, marked by Zijiang Yang
- Note the printable copy will probably be outdated, since
your browser will cache the old copy. Don't trust it. Instead,
go to the online copy and hit "Reload" or "Refresh".
- Lab 5 Objects questions answered by John Carter,
marked by Mark Stoodley
- Lab 6 Recursion questions answered by James MacLean
marked by Alagan Anpalagan
- Lab 7 Searching and Sorting questions answered by Guy Lemieux
marked by Bernard Ng
- Lab 8 List ADT using Linked List questions answered by John Carter
marked by Karen Wang
- Project Information, or printable copy
Lecture and Lab Time/Room Updates
There was a mistake in the lab room assignment for P0102
and a time change for P0101:
- P0101, Tuesday 5-7, SF1012/SF1106/GB251
- P0102, Tuesday 10-12, SF1012/SF1106/GB243
- P0103, Tuesday 2-4, SF1012/SF1106/GB251
The Wednesday 3-4pm lecture (L0102, Guy Lemieux's section)
is held in SS2102.
Note! New room!
The Monday 4-5pm lecture (L0102, Guy Lemieux' section)
has been moved to MC102.
Instructors and TA Contacts
Click here
for instructor and contact information.
Links