Computer Science 126
Spring 1999

T. Funkhouser

  • Announcements
  • General Information
  • Programming Assignments
  • Readings, Exercises, and Exams
  • Lectures
  • Help!
  • Course Description

    An introductory survey for students in the sciences and engineering. Hardware and software systems. Programming in C and other languages. Introduction to algorithms and data structures. Applications to solving scientific problems. Fundamentals of the theory of computation. Two lectures, one class, one laboratory.

    Frequently Asked Questions


    These course materials are under development and subject to frequent updates. The schedule and some other information is specific to the spring 1999 offering of our general computer science course at Princeton, but much of the material may be useful to others taking and teaching similar courses.


    General Information

    Instructor:
    Thomas Funkhouser, CS Bldg. 422, 258-1748, funk@cs.
    Office hours: TTh 5-6

    Course Manager:
    Kevin Wayne, CS Bldg. 322, 258-4455, wayne@cs.

    Course Secretary:
    Tina McCoy, CS Bldg. 410, 258-1746, tmhill@cs.

    Lectures:
    TTh 9:00-9:50, McCosh 10. Lectures will extend into the reading period.

    Precepts: Click here for the entire class roster or click the precept roster below.

    # Time Room Preceptor Office Hours Phone Email
    1 MF 10:00 CS 105 Lisa Worthington 316 T 8-9pm 8-5386 lworthin@cs
    2 MF 11:00 CS 105 Lisa Worthington 105 Th 10-11 8-5386 lworthin@cs
    3 M 1:30 CS 102 Emil Praun 416 MF 2:30-3:30 8-6304 emilp@cs
    F 1:30 Green 2N4
    4 MF 2:30 CS 102 Kevin Wayne 322 M 1:30-2:20 8-4455 wayne@cs
    6 MF 11:00 CS 103 Kevin Wayne 322 M 8-9pm 8-4455 wayne@cs
    7 M 7 CS 103 Kevin Wayne 322 Th 10-11 8-4455 wayne@cs
    F 1:30 CS 102
    8 MF 1:30 Equad E-329 Lena Petrovic 314 W 1:30-2:30, F 2:30-3:30 8-5135 lenap@cs
    9 MF 1:30 East Payne 012 Jon Forsyth 317 TTh 11-12 8-1796 jforsyth@cs
    4, 6, 7 Mao Chen 313 TTh 3-4 8-6126 maoch@cs


    Lab TA coverage:
    We have undergraduate TAs who are available to answer general questions in the labs and/or college clusters many days. See the Help page for the schedule.

    Grading:
    Two tests (~15% each), 8 programming assignments (~30%) precept participation (10%), and one final (~30%).

    Required Texts:
  • B. W. Kernighan and D. M. Ritchie, The C Programming Language, 2nd edition, Prentice-Hall, 1988. ISBN 0-13-110362-8.
  • R. Sedgewick, Algorithms, Third Edition, in C, Parts 1-4, Addison-Wesley, 1998. ISBN 0-201-31452-5.


  • Recommended Text for Beginners:
  • H. M. Deitel and P. J. Deitel, C How to Program, 2nd edition, Prentice-Hall, 1994. ISBN 0-13-226119-7.


  • Other Recommended Texts:
  • H. Hahn, Harley Hahn's Student Guide to UNIX, 2nd edition, McGraw-Hill, 1996.
  • S. P. Harbison and G. L. Steele, Jr., C: A Reference Manual, 4th edition, Prentice-Hall, 1995. [Required text for COS 217.]


  • Other Texts (on reserve at the Engineering Library in the EQuad):
  • Adobe Systems, PostScript Language Reference Manual, 2nd edition, Addison-Wesley, 1990.
  • K. Arnold and J. Gosling, The Java Programming Language, 2nd edition, Addison-Wesley, 1997.
  • D. R. Hanson, C Interfaces and Implementations: Techniques for Creating Reusable Software, Addison-Wesley, 1997. [Required text for COS 217.]
  • A. Kelley and I. Pohl, C by Dissection: The Essentials of C Programming, 3rd edition, Addison-Wesley, 1996.
  • A. Kelley and I. Pohl, A Book on C: Programming in C, 3rd edition, Benjamin/Cummings, 1995.
  • E. S. Roberts, The Art and Science of C: An Introduction to Computer Science, Addison-Wesley, 1995.
  • S. Summit, C Programming FAQs, Addison-Wesley, 1996.
  • Last semester's class


    Important note: Please do not publish solutions to problem sets, exercises, and exams in a way that could compromise their utility as pedagogical tools. At Princeton, this is a violation of the basic rights, rules and responsibilities of members of the university community.



    All rights reserved. None of this material may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without prior written permission. Permission is granted to instructors who adopt Algorithms in C to use this supplemental material in conjunction with their course.

    Acknowledgements and Credits
    Copyright (c) 1999, Robert Sedgewick