Introduction to Programming COMP 14 Fall 2000 Personnel Meeting Times Internet Resources Course personnel include laboratory assistants LAs teaching assistants TAs and the instructor They have the following duties LAs will be present in the ATN computer laboratories to assist you with computer system usage the Java software and language and debugging TAs will conduct recitation sections and hold regularly scheduled office hours Questions about algorithm design should be taken to your teaching assistant as well as any questions that cannot be handled by an LA Problems with or questions about course details and administration should initially be discussed with a TA The instructor is available for assistance with any administrative problem that your teaching assistant can t handle or to register complaints Please take your programming problems to a TA or LA but by all means bring questions that your teaching assistant cannot handle to the instructor Instructor Prasun Dewan Sitterson 150 Phone 962 1823 E mail dewan cs unc edu Office Hours T R 3 15 4 15 pm Teaching Assistants Qiong Han Sitterson 034 Phone 962 1709 E mail han cs unc edu Office hrs TBA Gopi Meenakshi Sitterson 040 Phone 962 1789 E mail meenakshi cs unc edu Office hrs TBA Stephan Sherman Sitterson 040 Phone 962 1782 E mail sherman cs unc edu Office hrs TBA 2 Bian Wu Sitterson 372 Phone 962 1852 E mail bianwu cs unc edu Office hrs TBA Laboratory Assistants Jeffrey McLamb mclamb email unc edu Sahil Parikh spparikh cs unc edu Ryan Weddle weddle cs unc edu Secretary Marie Tarjan Sitterson 154 Office 962 1763 E mail tarjan cs unc edu Office Hours M F 9 00 5 00 Lectures TR 12 30 1 45 MU 111 Recitation Sections 601 Wed 2 00 2 50 SN 14 602 Wed 3 00 3 50 SN 14 603 Wed 4 00 4 50 SN 14 604 Wed 5 00 5 50 SN 14 Recitations are an integral and important part of the course Some course topics are presented only in recitation sections Attendance Attendance at both lectures and recitations is mandatory If you have a scheduling conflict you should take this course another semester No attendance will be taken but neither the instructor nor the TAs will repeat material covered in class Course Web Page and Email http www cs unc edu dewan comp14 Send email to help14 cs unc edu for any programming problems clarifications on assignments etc This email will be read frequently by all the TAs and LAs so you will get a reply more quickly than by sending email to your TA or a specific LA Mail to comp14 cs unc edu for communicating with the whole class We assume that you have a UNC electronic mail account and are familiar with using email and the World Wide Web Email will be used extensively in this course We will use it to communicate to the class essential information concerning programming assignments You will use it to ask questions and give 3 us feedback on the assignments and course You should check your email at least four times per week and every time you sit down at a computer to work on a COMP 14 assignment you should first check your email there may be important information about the current assignment The web page for this course will contain copies of many of the handouts programming assignments information on the reading assignments etc Course Overview This is an introduction to algorithms their design and their representation in a computer programming language You will learn several programming language constructs including variables types conditionals loops functions procedures arrays files classes interfaces and inheritance In addition you will include several techniques for using these constructs including stepwise refinement modularity recursion design patterns and abstraction If you already know most of these constructs and techniques then you should take Comp 114 In this course we will assume you have never programmed before If you want to learn how to use a computer rather than program it you should take Comp 4 Although this course will teach you the programming language Java it is a course in programming rather than a course in Java We will emphasize conceptual material rather than practical skills By the end of the semester you will be practiced in the skills of algorithmic thinking Your approach to complex problems will be more precise and logical You will devise solutions in a step by step manner creating abstractions that clarify and simplify and you will gain experience in analyzing and predicting the behavior of complex systems After this course even if you never program a computer again your thinking skills will be augmented and sharpened In fact you will approach problem solving in a different way This will be of value to you throughout your life and in a surprising variety of contexts Prerequisites There are no prerequisite course requirements for the course However you will need to be skilled in the use of basic mathematics and algebra In the first recitation the TAs will give information on email and web usage 4 Text and Materials Class Notes I plan to make class notes describing all the concepts covered in class Web will be the distribution mechanism for these notes I plan to make them into a textbook Please let me know of all of the errors you find Required Text There is no required text because in the past students have found the class notes sufficient Recommended Text Walter Savitch Java An Introduction to Computer Science and Programming Prentice Hall 1999 ISBN 0 13 287426 1 This is my favorite among current textbooks Buy it only if you do not find the notes sufficient Software All software for this course is installed on the UNC ATN computers in the ATN labs We will be expecting you to use Visual J version 6 Those of you without computers find a convenient lab and make sure you can log in Look at http help unc edu labs for lab locations and schedules The Venable lab will be the only one manned with Las For those of you with your own PCs you will be given a free copy of the software courtesy Microsoft Collect a copy from the front desk of Sitterson ASAP ideally right after class You are free to use some other implementation of Java But we do require the implementation to support JDK 1 1 Another implementation of JDK 1 1 is Caf which is also installed on the ATN machines Unfortunately the student version is no longer sold hence the switch to J You will be using additional software implementing a tool called ObjectEditor It is downloadable from the course page http www cs unc edu dewan comp14 software and
View Full Document