1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon,...

25
1 Are you ready?

Transcript of 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon,...

Page 1: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

1

Are you ready?

Page 2: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

2

• Professor: Vladimir Misic• Office: 70-3535• Phone: 475-7923• Office Hours: Mon, Tue; 2:00pm – 4:00pm• Website: www.cs.rit.edu/~vm• E-mail: [email protected]

(please put “CS1” in the subject line)

Computer Science I

Page 3: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

3

Syllabus

• Available off of the course web page http://www.cs.rit.edu/~cs1

• All students in the course , must also be in a lab section

• All students are expected to attend both the lab and the lecture sections

Page 4: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

4

Course Goals

• Learn how to program

• Learn Java

• Understand Object Oriented Programming (OOP)

• Understand problem decomposition, design and implementation of solutions

Page 5: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

5

• Lecture Notes• http://www.cs.rit.edu/~jaa/Cs1-Fall00/home.html*

• http://www.cs.rit.edu/~ptt/courses/231/

• http://www.cs.rit.edu/~hpb/Lectures/99_CS1_Java/*

• http://www.cs.rit.edu/~afb/20012/cs1/slides/*

* (Note: weeks 3 & 5 of these notes have been switched for jaa and hpb)

Course Resources

Page 6: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

6

• Unix Beginners Guide

• Self Assessment

• Lecture and Lab Instructors

• Tutoring Centre: Teaching Assistants, SLI’s, some faculty.

• Lab Assistants

Course Resources

Page 7: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

7

Textbooks

An Introduction to Object Oriented Programming with Java, 2nd (3rd) ed., by Thomas Wu

Harley Hahn’s Student Guide to Unix, 2nd ed., by Harley Hahn

Page 8: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

8

• Weekly reading assignments that correspond to lecture and lab assignments

• Weekly lab assignments

• Readings to be completed

• Bi-weekly quizzes

• Final Exam

Course assignments

Page 9: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

9

Grade determination

• Quizzes 35% (3 out of 4)• Labs 30% (9 out of 10)• Final Exam 30%• Instructor’s discretion 5%

BUT, an F (<60%) in any component means an F in the course!!!

Grading issues must be brought to my attention within 1 week of my handing back materials in class.

Page 10: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

10

Quizzes

• There are four quizzes during the quarter (see schedule). Each will take about 30 minutes of lecture time. If you miss a quiz, you will receive a zero for it.

• The quiz grade is computed by averaging the percentage scores on your best three quizzes; the lowest quiz score is dropped. For example, if your quiz scores were 75%, 92%, 64% and 70%, your quiz grade would be 79%. There are no makeups on quizzes, nor are quizzes ever given early.

Page 11: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

11

Lab Assignments

• There are 10 scheduled laboratory sessions, one per week.• It is vital that you read each lab writeup (on the web)

before coming to lab, and do all of the indicated pre-lab activities, so you will be ready to go when lab begins.

• You will have nearly a week to complete each lab. Labs are due at the end of the day two days prior to your next scheduled lab session.

• You will receive your grade via electronic mail.• Each laboratory assignment will include a postlab.• The postlab is part of the laboratory assignment and is

due when the corresponding lab is due.

Page 12: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

12

Lab Assignments

• Labs are worth 30 points each:• in-lab activities count for 20 points • postlab activities count for the other 10 points

• Your lab grade for the course will be computed as an average of the highest 9 lab grades (the lowest one will be dropped).

• A zero given for cheating will NOT be dropped.

• There are no makeups on labs or parts of labs which you miss, nor are late submissions accepted.

Page 13: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

13

Final Exam

Date will be announced A common exam will be given to all sections at the same

time• No make-ups nor early examination – unless conflicts

• Week 6 notification of conflict

Comprehensive Coverage:• All reading material, all lecture material, and all lab material

Page 14: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

14

Policy on W and I grades

W: RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the sixth week in the quarter. After this date, your instructor cannotgive you a W, but must assign you a grade based on your work.

I: Incomplete grades will be given only in the most exceptional circumstances,and then only by prior arrangement with your lecture instructor. Your lecture instructor has the final say in this matter.

Page 15: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

15

Academic Dishonesty

• First incident: you will receive an F on the assignment

• Second incident: you will receive an F for the course

• Repeated offenses may result in expulsion or suspension from RIT

• More details:

• Department Policy

• RIT Academic Dishonesty Policy

• RIT Code of Conduct for Computer Use

Page 16: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

16

Page 17: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

17

Programming

For the next ten weeks you will learn basic programming principles– There is much more to programming than knowing a

programming language

When programming you need to use a tool, in this case the tool will be a language– In this course you will use Java to explore programming

– You will use other languages to program

Page 18: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

18

Syntax and Semantics

When using a programming language you must understand both the syntax and the semantics of the language.

– Syntax refers to the rules you must follow to form valid statements in the language.

• The syntax of a language is like English grammar.

– Semantics describe the meaning of a statement in a language.

Page 19: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

19

A programming example

A

B

Syntax and Semantics:

1. Start.

2. Step Ahead

3. Turn Right

4. Turn Right

5. Turn Left

6. Turn Left

7. Stop.

Page 20: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

20

Language Translation

The only language that a computer understands is machine language (…110010111…)

A program, written in a programming language other than machine language, must be translated into machine language in order for it to run on a computer

Programs are typically either compiled or interpreted

Page 21: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

21

Compiling

When a program is compiled it is converted directly into machine language– Sort of like having a book translated from English to German

The program that does the translation is called a compiler

Source Code Object Code Executable Code

compile link

Page 22: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

22

Interpreted Languages

Another approach is to convert the program to machine language while it is running

An interpreter translates and immediately executes a program– Someone, who understands German, reads the book in German

and translates while reading to English

Source Code Execute

interpret

Page 23: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

23

What Is Java?

Java started as a programming language for embedded systems (toasters, microwave ovens, washers, etc.).– needed to be portable.

– had to be reliable.

The original language was called oak (rumor has it that Gosling has a large oak tree outside the window of his office). Marketing decided Java was a better name.

Page 24: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

24

Sun’s Slant

According to Sun:– Java is a simple, object-oriented, distributed, interpreted,

robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language

Java is a lot like C/C++ but there are a number of important differences.

Page 25: 1 Are you ready?. 2 Professor: Vladimir Misic Office : 70-3535 Phone: 475-7923 Office Hours : Mon, Tue; 2:00pm – 4:00pm Website : vmvm.

25

Time Out.