Introduction to Computers and Programming
Professor Deena Engel
1:00 in room 526 of Warren Weaver Hall, or at other times by appointment
2003 Prentice Hall, Inc. All rights reserved. Customized by Deena Engel for the use of this class.
Upon completing the course, you will understand
Primitive data types
Java control flow structure
Course Objectives, cont.
You will be able to
Write, compile and run JAVA programs.
Create and use methods
Develop Java applets
Write interesting projects
Establish a firm foundation on Java concepts
Course Text Book
Java: Introduction to Computer Science and Programming, by
Walter Savitch, Prentice Hall
Available at the NYU Bookstore
Book includes a CD
ROM with all programs.
Lectures in PowerPoint format and programs which we write in
class will be posted to the class website
Please keep up with the reading!
Book Chapters to be covered in this class:
Chapter 1 Introduction to Java
Chapter 2 Primitive Data Types and Operations
Chapter 3 Control Statements:
If / else statements
for and while loops
Chapters 4 and 5: Methods
Chapter 6: Arrays
Chapter 13: Java Applets
No prior programming experience required (Really!!)
Who should be taking this course:
students who want to switch to a computer science major
students who want to take a computer science minor or a computer
applications minor (
students who are interested in programming
You must get a
or better in this class to take further computer
science classes as a major.
Course Web Site
Course web site is available at:
Web site contains the following information:
Links to the class mailing list
Class mailing list
First assignment is to join it. Do it today!
Go to following link and and follow the instructions :
All assignments and news
will be sent to the class list
Homework questions may be sent to the list and answered
by students when possible.
For the course, we will be using
NetBeans & SUN JDK
software to create, edit, compile and run our JAVA
These programs are free and you can download and use
them for your home computer.
If you do not have your own computer, the computer labs on
campus have this compiler.
Your grade will be determined as follows:
Midterm Exam (30%)
Final Exam (40%)
will be deducted for each class day late
With a possible maximum of
Home works will
not be accepted after the third class
following its due date.
Submit the program via email to the grader (more on this later)
Buy a few floppy disks:
For you own good you must save all programs on a disk and back them up
on another disk.
Computer crashes or lost programs are not valid excuses for not handing in
A Word About Cheating
For the purposes of this class, cheating is defined as:
Copying all or part of another student's homework, project or exam.
Allowing another student to copy all or part of your homework,
project, or exam.
Discussing homework concepts is fine, but
you must submit your
However … If you work with a partner, you must both tell me and
the grader when the homework is submitted that you worked
together and also note that in the program comments.
If you are caught cheating, you will receive an immediate FAILURE for
In an effort to make this class enjoyable for
Please be on time to class!
Please do not talk to your friends and neighbors in class!
It disturbs everyone, and makes it hard to concentrate.
If you have a question, just ask me!
Please turn your pagers and cell
Whenever you have a question about the course material,
please feel free to drop by during my office hours or write me an email message.
If at any time you feel that you are falling behind or are overwhelmed by the material,
please let me know and I will be very happy to help you.
Help is always available!
Come to my Office Hours
Mondays and Wednesdays 12:00
Location: Room 526 Warren Weaver Hall
If you cannot make my office hours, I will be happy to make an
appointment with you at another time.
Write to me or the
class mailing list
Basic Computing information and history
What is a Computer?
Device capable of performing computations and making logical
Computers process data under the control of sets of instructions
called computer programs
Various devices comprising a computer
Keyboard, screen, mouse, disks, memory, CD
Programs that run on a computer
Every year or two the following approximately double:
Amount of memory in which to execute programs
Amount of secondary storage (such as disk storage)
Used to hold programs and data over the longer term
The speeds at which computers execute their programs
Six logical units in every computer:
Obtains information from input devices (keyboard, mouse)
Outputs information (to screen, to printer, to control other devices)
Rapid access, low capacity, stores input information
Arithmetic and logic unit (ALU)
Performs arithmetic calculations and logic decisions
Central processing unit (CPU)
Supervises and coordinates the other sections of the computer
Secondary storage unit
Stores inactive programs
Evolution of Operating Systems
Single_user Batch processing
Do only one job or task at a time
Early Operating systems
Manage transitions between jobs (minimizing transition time
Amount of work computers process
Computer resources are shared by many jobs or tasks (users still
waited a long time for their output)
Timesharing (access computers via terminals)
Computer runs a small portion of one user’s job then moves on to
service the next user
Economical enough for individual
Popularized by Steve Jobs and Steve Wozniak with the introduction of
the Apple in 1977.
In 1981 IBM introduced the IBM personal computer using “off the shelf”
Computing distributed over networks
Sharing of information across computer networks between file servers
Three types of programming languages
Strings of numbers giving machine specific instructions
like abbreviations representing elementary computer operations (translated
Codes similar to everyday English
Use mathematical notations (translated via compilers)
grossPay = basePay + overTimePay
Used for scientific and engineering applications
Used to manipulate large amounts of data
Intended for academic use
Used in Defense Department Applications
Disciplined approach to writing programs
Clear, easy to test and debug and easy to modify
Structured programming is hard and takes time to master
The Key Software Trend:
Reusable software components that model items in the real world
Meaningful software units
Date objects, time objects, paycheck objects, invoice objects, audio
objects, video objects, file objects, record objects, etc.
Any noun can be represented as an object
More understandable, better organized, and easier to maintain than
Please speak to me if you have questions or comments
Deena Engel (mail to: