Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.
-
Upload
candace-mckenzie -
Category
Documents
-
view
217 -
download
3
Transcript of Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.
![Page 1: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/1.jpg)
Object-Oriented Programming and Problem SolvingDr. Ramzi Saifan
![Page 2: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/2.jpg)
Expected Background “A one-semester college course in
programming.” I assume you can write a program in some
language, understand variables, control structures, Arrays, functions/subroutines.
If in doubt, let’s talk.
![Page 3: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/3.jpg)
Course Outline1. Background, basics of O-O, first Java
program,
2. Raw materials: types, variables, operators, program control, Arrays, and Strings
3. Classes: declarations, constructors, cleanup & garbage collection
4. Packages, access specifiers, finals, class loading
![Page 4: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/4.jpg)
Course Outline (cont.)5. Polymorphism, abstract classes, design
patterns
6. Interfaces & extends, inner classes, callbacks via inner classes
7. Arrays, container classes, iterators
8. Exception handling, threads
9. Java I/O, networking
![Page 5: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/5.jpg)
Administrative Details Professor: Ramzi Saifan Office: CPE 408 Office Hours: Sun, Tue, Thu 11-12, or knock the
door whenever it is open Email: [email protected]
![Page 6: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/6.jpg)
Administrative Details (cont.) Required Text: Horstmann & Cornell, “Core
Java, Volume 1 - Fundamentals,” Sun Microsystems Press
Additional Online Texts: The Java Tutorial
http://java.sun.com/docs/books/tutorial/ Thinking in Java by Bruce Eckel
http://mindview.net/Books/TIJ/
![Page 7: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/7.jpg)
Administrative Details (cont.) 15 weeks Two 60-minute lectures per week Course notes in PowerPoint. Class attendance will be taken. You will be banned
from the final exam if you are absent 6 or more times.
Homeworks are complementary to the lectures. No make-up exams Grading corrections: not later than one week from
receiving your grade.
![Page 8: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/8.jpg)
Administrative Details (cont.) Homework: 10% Midterm exam 20% Final exam: 30% Lab: 40%
![Page 9: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/9.jpg)
My Policy on Cheating Cheating means “submitting, without proper
attribution, any computer code that is directly traceable to the computer code written by another person.”
This doesn’t help your job prospects. It is programming
![Page 10: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/10.jpg)
My Policy on Cheating You may discuss homework problems with
classmates, after you have made a serious effort in trying the homework on your own.
You can use ideas from the literature (with proper citation).
You can use anything from the textbook/notes.
The code you submit must be written completely by you.
![Page 11: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/11.jpg)
Course EtiquetteNo cell phonesNo random comings and goings If you are sleepy, go home If you want to read email or surf the Web,
please do it elsewhere
![Page 12: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/12.jpg)
Programming Language Evolution Machine language Assembler “3rd generation” (COBOL, FORTRAN, C) Specialized (Lisp, Prolog, APL) “4th generation” (SQL, spreadsheets,
Mathematica) “5th generation” (example, anyone?)
![Page 13: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/13.jpg)
Object-Oriented Languages Smalltalk, C++, Java, etc… You can make any kind of objects you want
![Page 14: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/14.jpg)
Making Java Work It's “easy as pie” to write procedural code in
Java. It takes some discipline (an attitude) to think
O-O. It's worthwhile to do it.
![Page 15: Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan.](https://reader036.fdocuments.in/reader036/viewer/2022082712/56649e915503460f94b968e2/html5/thumbnails/15.jpg)
O-O Languages Everything is an object. A program is a bunch of objects telling each
other what to do, by sending messages. Each object has its own memory, and is made
up of other objects. Every object has a type (class). All objects of the same type can receive the
same messages.