26
Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 [email protected] Office hours: MW 12:00 - 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.

Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 [email protected] Office hours: MW 12:00 - 1:00 in room

  • View
    227

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Introduction to Computers and Programming Using JavaProfessor Deena EngelV22.0002: Section 1

[email protected] Office hours: MW 12:00 - 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.

Page 2: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Course Objectives

Upon completing the course, you will understand Java programming

Primitive data types Java control flow structure Methods Arrays Java Applets

Page 3: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

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

Page 4: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

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!

Page 5: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Book Chapters to be covered in this class:

Chapter 1 Introduction to Java Chapter 2 Primitive Data Types and Operations Chapter 3 Control Statements:

Selection Statements: If / else statements Loop statements: for and while loops

Chapters 4 and 5: Methods Chapter 6: Arrays Chapter 13: Java Applets

Page 6: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Course Prerequisites Prerequisites:

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 (http://cs.nyu.edu/csmionr/) students who are interested in programming

You must get a C or better in this class to take further computer science classes as a major.

Page 7: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Administrative MattersAdministrative Matters

Page 8: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Course Web Site Course web site is available at: http://www.cs.nyu.edu/courses/summer04/V22.0002-0

01/index.htm Web site contains the following information:

Administrative information Course Syllabus Homework assignments Class notes Class programs Sample exams Compiler instructions Links to the class mailing list

Page 9: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Class mailing list

First assignment is to join it. Do it today! Go to following link and and follow the instructions :

http://www.cs.nyu.edu/mailman/listinfo/v22_0002_001_sp04

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.

Page 10: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Software For the course, we will be using NetBeans & SUN JDK

software to create, edit, compile and run our JAVA programs

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.

Page 11: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Grading

Your grade will be determined as follows: Midterm Exam (30%) Homeworks (30%) Final Exam (40%)

Page 12: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

homework•Ten points will be deducted for each class day late

•With a possible maximum of 30 points being deducted.

•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 an assignment!

Page 13: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

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

own work 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 the course.

Page 14: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Student Civility In an effort to make this class enjoyable for

everybody… 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-phones off!

Page 15: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Getting Help 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! Option1: Come to my Office Hours

Mondays and Wednesdays 12:00 – 1: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.

Option 2: Write to me or the class mailing list

Page 16: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Basic Computing information and history

Page 17: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

What is a Computer?

Computer Device capable of performing computations and making logical

decisions Computers process data under the control of sets of instructions

called computer programs Hardware

Various devices comprising a computer Keyboard, screen, mouse, disks, memory, CD-ROM, and

processing units Software

Programs that run on a computer

Page 18: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Hardware Trends

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 Processor speeds

The speeds at which computers execute their programs

Page 19: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Computer Organization Six logical units in every computer:

Input unit Obtains information from input devices (keyboard, mouse)

Output unit Outputs information (to screen, to printer, to control other devices)

Memory unit 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 Cheap, long-term, high-capacity storage Stores inactive programs

Page 20: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

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 between jobs) Increased throughput

Amount of work computers process Multiprogramming

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

Page 21: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Personal Computers Personal computers

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”

components. Distributed computing

Computing distributed over networks Client/server computing

Sharing of information across computer networks between file servers and clients (personal computers)

Page 22: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Programming languagesThree types of programming languages

Machine languages Strings of numbers giving machine specific instructions Example:

+1300042774+1400593419+1200274027

Assembly languages English-like abbreviations representing elementary computer operations (translated

via assemblers) Example:

LOAD BASEPAYADD OVERPAYSTORE GROSSPAY

High-level languages Codes similar to everyday English Use mathematical notations (translated via compilers) Example: grossPay = basePay + overTimePay

Page 23: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Other High-level Languages high-level languages

FORTRAN Used for scientific and engineering applications

COBOL Used to manipulate large amounts of data

Pascal Intended for academic use

Ada Used in Defense Department Applications

Page 24: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

Structured Programming

Structured programming Disciplined approach to writing programs Clear, easy to test and debug and easy to modify

Structured programming is hard and takes time to master

Page 25: Introduction to Computers and Programming Using Java Professor Deena Engel V22.0002: Section 1 deena@cs.nyu.edu Office hours: MW 12:00 - 1:00 in room

The Key Software Trend: Object Technology

Objects 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

procedural programming