1 / 15

Object-Oriented Programming and Problem Solving

Object-Oriented Programming and Problem Solving. Dr. Ramzi Saifan. 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.

lhanlon
Télécharger la présentation

Object-Oriented Programming and Problem Solving

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-Oriented Programming and Problem Solving Dr. Ramzi Saifan

  2. 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.

  3. Course Outline • Background, basics of O-O, first Java program, • Raw materials: types, variables, operators, program control, Arrays, and Strings • Classes: declarations, constructors, cleanup & garbage collection • Packages, access specifiers, finals, class loading

  4. Course Outline (cont.) • Polymorphism, abstract classes, design patterns • Interfaces & extends, inner classes, callbacks via inner classes • Arrays, container classes, iterators • Exception handling, threads • Java I/O, networking

  5. Administrative Details • Professor: Ramzi Saifan • Office: CPE 408 • Office Hours: Sun, Tue, Thu 11-12, or knock the door whenever it is open • Email: r.saifan@ju.edu.jo

  6. 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/

  7. 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.

  8. Administrative Details (cont.) • Homework: 10% • Midterm exam 20% • Final exam: 30% • Lab: 40%

  9. 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

  10. 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.

  11. Course Etiquette • No cell phones • No random comings and goings • If you are sleepy, go home • If you want to read email or surf the Web, please do it elsewhere

  12. Programming Language Evolution • Machine language • Assembler • “3rd generation” (COBOL, FORTRAN, C) • Specialized (Lisp, Prolog, APL) • “4th generation” (SQL, spreadsheets, Mathematica) • “5th generation” (example, anyone?)

  13. Object-Oriented Languages • Smalltalk, C++, Java, etc… • You can make any kind of objects you want

  14. 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.

  15. 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.

More Related