PREFACE

The Preparatory Course for Programming is intended to bring a more pleasant experience to you, new foreign student enrolling into the School of Computing. The reason being that the first programming module is often a tough nut to crack for many freshmen, especially for those who have to cope with the new environment and culture in their first few months after arrival.

    There are two components of this preparatory course, one aimed at the Computing students taking CS1101, and the other at the Computer Engineering students taking CS1101C. The first four chapters of this book can be read by both groups of students, while the remaining chapters gear towards the C programming language, and so are more relevant to the Computer Engineering group. The course is covered over a 13 half-day period, with two hours of lecture followed by an hour of tutorial or laboratory activities every day.

    Instead of solely touching on topics related to programming, we take this opportunity also to address some of the immediate concerns of a freshman. To this end, we present the series of challenges that you will face, and to get you psychologically prepared and geared for the necessary changes, to give you a head start.

    In this course as well as in this book, we have chosen to exclude certain areas from our discussion. Concerns and queries over curriculum matters are best answered through the various existing channels such as the School's web site. Survival guides, which have been written by your kind Computing seniors and Computer Engineering seniors, contain more complete and up-to-date information on stuffs like dial-up numbers. Dynamic information such as these that change quickly are best left to the providers of these resources to maintain and update their information, while this book can provide reference to these resources.

    I have put together in this book what I think are useful to the freshmen. But this is in most part just my guess, as this is the first time such a transition module is offered. I therefore wish for generous feedback from you, to help make this manuscript of real benefit for future batches of students. The margins of the book are all ready to be filled with your 'graffiti'. Just send in your note, be it serious advice, or light-hearted comments. You may request for anonymity, if you so wish.

    This book isn't complete at the time of this writing, which means that it has plenty of room for improvement. It also means more late nights for me.

    I wish all of you an enjoyable stay in NUS.



Aaron Tan Tuck Choy (tantc@comp.nus.edu.sg)
Instructor
Department of Computer Science
School of Computing
National University of Singapore

26 June 1999