OKLAHOMA CITY UNIVERSITYOBJECT-ORIENTED PROGRAMMING IN JAVA MS 5003 01 FALL 2009 DR. JOHN GOULDEN SYLLABUS

plumponionchipsΛογισμικό & κατασκευή λογ/κού

18 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

84 εμφανίσεις

OKLAHOMA CITY UNIVERSITY

OBJECT
-
ORIENTED PROGRAMMING IN JAVA

MS 5003 01

FALL 2009

DR. JOHN GOULDEN



SYLLABUS





Office Room Number:


Meinders 118C


Phone:




208
-
5042


E
-
mail:




jgoulden@okcu.edu


Office Hours:




Tuesday and Thursday






9:00


12:00


Class Meets:




Monday and Wednesday







Lecture

9:00


9:50








Lab


10:00


10:50




Class Room Number:


Lecture

Meinders 203






Lab


Meinders 119


OKLAHOMA CITY UNIVERSITY

OBJECT
-
ORIENTED PROGRAMMING IN JAVA

MS 5003 02

FALL 2009

DR. JOHN GOULD
EN



SYLLABUS





Office Room Number:


Meinders 118C


Phone:




208
-
5042


E
-
mail:




jgoulden@okcu.edu


Office Hours:




Tuesday and Thursday






9:00


12:00


Class Meets:




Monday and Wednesday







Lecture

12:30


1:20








Lab


1:30


2:20




Cla
ss Room Number:


Lecture

Meinders 207






Lab


Meinders 119

OOP


Revised
11/18/2013

Object
-
Oriented Programming in Java (MS 5003
)



Oklahoma City University


Fall

200
9


Section 01:

Lecture

MSB 203


9
:00





9
:50


M W




Lab


MSB

119

10:00



10:50

M W


Section 02:

Lecture

MSB 207

1
2:30




1
:20


M W




Lab


MSB

119


1:30


2:2
0


MW



Instructor:


Dr. John Goulden, Assistant Professor of Computer Science


Office




LO 103

Office Hou
rs




TBA

Voice / Voice Mail


208
-
5042 (OCU extension 5042)

E
-
Mail




jgoulden@okcu.edu

Web




www.okcu.edu/jgoulden


Office Hours:



The instructor’s office hours and contact information are given on this syllabus and are posted
at hi
s office and on his web site. The instructor will make every effort to be in his office and available
to students during posted office hours. However, students are welcome to visit the instructor any time
that they need assistance. If you wish to make an a
ppointment to see the instructor, you may do so in
person, through the department secretary, or
via

email.


Required Text and Materials:



Java 6 Illuminated

by Julie Anderson and Herve Franceschi, 2
nd

edition

(Jones and Bartlett, 2008) ISBN
9780763749637



A
ll students must

obtain a legal copy of the text. Bring your text to lecture and to lab.


Course Description
:


This course is a rapid survey of structured and object
-
oriented
design (OOD) and object
-
oriented programming (OOP) using the Unified Modeling Language (UML) and
Java programming
language
.
Other high
-
level object
-
oriented programming languages such as C# and C++ will also be
described.
Appropriate program structure and style as well as the features of the languages are
emphasized. The design and implementation of p
rograms comprises a significant part of the course.
Students should be familiar with general programming concepts and have experience programming in
at least one high
-
level language before attempting this course.


OOP


Revised
11/18/2013

Prerequisites:


MATH 1503 (College Algebr
a) or permission of instructor

Experience in programming with at least one high
-
level programming language


Objectives:



Upon completion of this course the student will gain the following knowledge and abilities:


Familiarity with and m
astery of the essen
tial vocabulary and syntax of
high
-
level object
-
oriented programming languages (with emphasis on Java)

including






history of object
-
oriented design and programming;




history and use of
important programming languages in OOP;




overview and featu
res of modern high
-
level OOP languages;




distinction between interpreted, compiled, and virtual
-
machine languages;

rules and guidelines of programming style and documentation;

the nature and use of variable values and references;




input and output usin
g the console
, GUI,

and files;




use
of the

sequence,
loops
, and branch control structure
s;




functions and the role of functions in program design;





single
-

and multi
-
dimensional arrays;



similarities in differences in current OOP languages inclu
ding memory




management, garbage collection, and automatic boxing of primitives;




An understanding of program design and of object
-
oriented programming including





effective use of standard algorithm design tools such as flowcharts;




principles
of top
-
down and bottom
-
up design;




modular program design;




OO

concepts including abstraction,
data hiding, polymorphism, encapsulation,



and inheritance;




objects and classes and their role in OOD and OOP;




effective use of UML in class design
;

and implementation of classes described in UML in an OO language
.




The ability to design, implement, test, and debug

solutions to problems using
the
Java




programming language for both console and GUI interfaces
.


OOP


Revised
11/18/2013

Grading:


You will be evaluated in
four

categories:
daily work (which includes homework, quizzes, and
in
-
class worksheets),
lab work
, three midterm examinations, and a final examination. The grading scale
and percentages for each grade component are as follows:


92.5


100

A

90.0


92.5

A
-

87.5


90.0

B+

82.5


87.5

B

80.0


82.5

B
-

77.5


80.0

C+

72.5


77.5

C

70.0


72.5

C
-

67.5


70.0

D+

62.5


67.5

D

60.0


62.5

D
-

0.00


60.0

F

Homework

/ Daily Work /
Quizzes

15
%

Lab
and Project
Work



25
%

Four

Midterm Exams



40

%

Final Exam




2
0

%








Incompletes:


Incompletes will be granted
only

in cases of unusual and unforeseeable hardship. Simply
falling behind in the course will not be considered a sufficient reason for granting an incomplete. If
granted, a report of “incomplete” will
be accompanied by a letter grade based on work already
completed. If the course is not completed within one year, this letter grade will become the final grade.
The University policy on incompletes is found in the 2008
-
9 undergraduate catalog page 46 and i
n the
2008
-
9 graduate catalog page 31.


Attendance Policy:



Students are expected to attend every lecture and every lab. Three or more absences may result
in a penalty of one or more letter grades. However, a historical observation is that students with
e
xcessive absences generally fail the course even if this penalty is not applied, and students with good
attendance generally earn good grades in the course.

If you must miss a lecture or lab due to some
unforeseen emergency, please contact the instructor.


Late Work Policy:



Late work will not be accepted for any reason. Homework

or lab work

submitted by email or
given to the department secretary after class will not be accepted.


Students with Disabilities:



If you need an accommodation due to a disabili
ty under the Americans with Disabilities Act,
please contact the Student Health and Disabilities Service Office at 208
-
5090 or 208
-
5991. Advance
notice is required for many accommodations.

OOP


Revised
11/18/2013

Weather Cancellation Policy / Severe Weather Policy:


In the event

of severe winter weather, the University may cancel classes. To find out if the
University has cancelled classes,

call the weather hotline at 208
-
5871. The local television stations will
list those schools that cancel classes due to weather. If the instru
ctor must cancel class due to weather,
he will make every effort to publish a notification on his web site at
www.okcu.edu/jgoulden
.


Central Oklahoma is subject to severe spring and summer storms which may pr
oduce
tornadoes. In case of abrupt severe weather, the warning sirens will sound. If this occurs while class is
in session, class will be dismissed so that students and faculty can proceed to the nearest storm shelter.


Cheating and Plagiarism Policy:



Th
is course is governed by both the University
-
wide Academic Honesty policy (2008
-
9
undergraduate catalog page 40; 2008
-
9 graduate catalog pages 32
-
33) and by the Department of
Computer Science Academic Honesty Policy. You will be required to sign and return

a copy of the
Department policy as an acknowledgement that you have read and understand that policy. Aspects of
this course in which these issues are particularly relevant are noted in the paragraphs below and will be
discussed in class.


Homework Assign
ments:


The midterm study guides attached to the syllabus might be considered homework. This
material
is designed to allow you to prepare for the midterm and final examinations. This
material
includes programs (or fragments of programs) that

you should imp
lement in the Java

programming
language.
Study guide problems are

not collected or graded. However, the instructor will gladly assist
you in completing problems or evaluating your work on request.


Other homework assignments might be made during the semest
er. If so, the nature of the
assignment and the due date will be provided at that time. This homework will be collected, evaluated,
graded, and returned. Make sure that your name is at the top of the first page (no cover pages please)
and staple multi
-
page

assignments once in the upper
-
left corner.


In
-
Class
Quizzes:


Quizzes, both announced and unannounced, will be administered throughout the semester. The
instructor will often use the first five minutes of class time for quizzes. Material is taken from
the
current lecture material, homework, and reading assignments.

Quiz scores wi
ll be incorporated into
the
“daily work” component of your

grade.

Some quizzes and worksheets are considered to be extra credit
and can only increase your grade
!


OOP


Revised
11/18/2013

Lab Assignmen
ts and Programs:



This is a programming course, and you will write several programs during the semester.
Programs will be graded using several criteria: internal documentation, consistent style, appropriate use
of the programming language, and how well th
ey satisfy the specifications given in the problem
statement. These grading criteria will evolve as your mastery of the language progresses during the
course.



A portion of your lab grade will be determined (in most cases) by a worksheet. To complete the

worksheet you must design and implement programs in lab.
Other, more challenging lab projects will
require more extensive write
-
ups. Some lab work will be submitted
on your personal web page
provided by OCU, where it will be inspected
and evaluated by the

instructor at a later date.


Lab will often begin with a brief lecture. Thus, it is important that you be on time to labs or you
will not hear this important material.


Exams:


All in
-
class exams are closed book and closed notes. Exam problems are taken

from the lecture
material, from the reading, and from the homework assignments. Exam questions may be of any type:
problems to be solved, essay, fill
-
in
-
the
-
blank, multiple choice, and so on. Students may not leave the
room during an exam for any reason
; if you
must

leave the room, you must also turn in your exam.


Book Check:



Beginning with the third week of class, the instructor may conduct “book checks” to ensure that
each student has a copy of the textbook. Make sure you bring your text to every le
cture and lab session.
Book check will be incorporated into your
homework
grade.

OOP


Revised
11/18/2013

Proposed Schedule for MS

5003 (Object
-
Oriented

Programming

in Java
):


As is usual in proposed course schedules, this schedule is subject to change. You should read the given
chapter from the course text before
attending the
lecture.

Numbers indicate the chapter of the text that
should be read before lecture on that day. ‘x’ indicates material that is not in your text.


Mon

Aug 24



Syllabus and course policies





Lab orientat
ion; accessing OCU accounts; first programs


Wed

Aug 26


1

Overview of
Computers and
Programming Languages





javabat.com orientation; first methods



Mon

Sep 1


2

Basic Elements of Java; data types; operators; expressions; style





LAB: Simple programm
ing problems


Wed

Sep 3


x

Decimal, Binary, Octal, Hexadecimal number systems





LAB: More simple programming problems



Mon


Sep 7



NO CLASS, NATIONAL HOLIDAY











Wed

Sep 9


3

Java class libraries; String functions;





LAB: Programming
with Str
ings


Mon

Sep 14



Java class libraries; Math functions; wrapper classes

LAB: Programming
with Math


Wed

Sep 16


4

Introduction to Applets and Graphics





LAB: First applet and web page


Mon


Sep 21



EXAM I

(Chapters 1


3, lectures, handouts, labs)




Wed

Sep 23


5, 6

Introduction to control structures





LAB: Programming using control structures



Mon


Sep 28


x

Flowcharts and algorithm design





LAB:
Programming from a flowchart


Wed


Sep 30


7

Object
-
oriented programming: classes and methods





L
AB: Programming with loops, branches, classes, methods


Mon


Oct 5


13

Recursion





LAB: Recursion


Wed

Oct 7



More on Recursion





LAB: More recursion


M
on


Oct 12



More on classes and methods





LAB: Classes and methods

OOP


Revised
11/18/2013









Wed

Oct 14



EXAM I
I

(Chapters 4


7, 13, lectures, handouts, labs)


Mon

Oct 19



NO CLASS, FALL BREAK


Wed

Oct 21


8

Single
-
dimensional arrays





LAB: Programming with single
-
dimensional arrays




Mon

Oct 26


15

Searching; simple sorting; big
-
O notation





LAB: searching
single
-
dimensional arrays



Wed

Oct 28



Simple Sorting





LAB: simple sorting


Mon

Nov 2



Advanced Sorting





LAB:
more sorting


Wed

Nov 4


9

Multidimensional arrays






LAB: Programming with multidimensional arrays









Mon

Nov 9



More on multidi
mensional arrays





LAB: More programming with multidimensional arrays


Wed

Nov 11



EXAM III

(Chapter 8, 9, 15
, lectures, handouts, labs)


Mon

Nov 16


10

Objects
and classes; OOD / OOP concepts; UML





LAB: First lab with inheritance



Wed

Nov 18



More

on objects, classes, inheritance, containment





LAB: Continuation of inheritance lab


Mon


Nov 23



Abstract classes and methods





LAB: continuation of inheritance lab


Wed


Nov 25



NO CLASS, NATIONAL HOLIDAY




Mon


Nov 30


12

Graphical User Interfa
ces; layouts





LAB: first GUI application


Wed


Dec 2



Graphical User Interfaces; listeners





LAB: continuation of GUI application






Mon


Dec 7



EXAM IV

(Chapters 10


12
, lectures, handouts, labs)







OOP


Revised
11/18/2013

Wed


Dec 9



Review for Final Exam





OPEN

LAB


Mon

Dec 14


1
2:00


COMPREHENSIVE

FINAL EXAM (
1
2:30 section)

Wed

Dec 16


8
:00


COMPREHENSIVE F
INAL EXAM (9
:00 section)

OOP


Revised
11/18/2013

For each exam, you are expected to study and review all of the following:


Lecture notes, handouts, quizzes, and worksheets

Labor
atory exercises

Bold
-
faced terms in each chapter

(even if no exercises are given for that chapter)

Chapter Summary in each chapter (even if no exercises are given for that chapter)


As the semester progresses, you will read, analyze, and write Java program
s on the midterms.
You are
expected to be able to write simple Java programs from memory.
However, you will never be required
to memorize or write GUI method
s in Java on a closed
-
book exam, nor will you be expected to
memorize methods of predefined classes

beyond what is commonly used in lecture or lab

or
explicitly
given in one of the review problems below
.


STUDY GUIDE FOR MIDTERM I


Chapter 1

Exercises 1


30, 35


Chapter 2

Exercises 1


50, 52


Chapter 3

Exercises 1


56, 71


STUDY GUIDE FOR MIDTERM I
I


Chapter 4

Exercises: NONE, these are mostly GUI
-
related questions


Chapter 5

Exercises 1


48, 53


Chapter 6

Exercises 1


52, 70
-
71


Chapter 7

Exercises 1


52, 55


62, 73


Chapter 13

Exercises 1


47, 63


STUDY GUIDE FOR MIDTERM I
II


Chapter 8

Exercise
s 1


61, 73


76


Chapter 9

Exercises
1


85, 97


Chapter 15

Exercises 1


18


STUDY GUIDE FOR MIDTERM I
V


Chapter 10

Exercises
1


46, 57


Chapter 11

Exercises: NONE


Chapter 12

Exercises: NONE