CSCI 2070 Introduction to Computer Ethics and CyberSecurity

advertisement
CSCI 1302 Advanced Programming Principles
Dr. Joy Reed
Spring 2008
Prerequisite: CSCI 1301 Introduction to Programming Principles
Course Description:
Object-oriented design and implementation. Topics include: objects and class design
using UML, simple design patterns, inheritance, polymorphism, interfaces, graphical user
interfaces and event-driven programming, exception handling, file input and output.
Goal:
The primary goal is to further expand the students’ problem solving skills by learning and
using object-oriented programming. Java will be used as the programming language to do
so. The course builds upon the programming competencies that students have acquired in
CS1301.
Text:
Y. Daniel Liang, Introduction to Java Programming, Core Version, 6E, Prentice Hall,
2006 – http://www.prenhall.com/liang/ *.
HTU
UTH
Instructors Name:
Office Number:
Class:
Office Hours:
Dr. Joy Reed, Joy.Reed@cs.armstrong.edu
SC 111
M,W, 6:00 – 7:15 pm SC1503 B
M,W 10:00-11:00 am, 2:00 - 4:00 pm
T 11:00 - 12:00 am
Other times available by appointment
Web URL: http://cs.armstrong.edu/joy/
Assessment:
Programming Projects*
30% (3.5 projects. Given in class
along with the due dates).
Three In-Class Exams
45% (15% Each) Format:
Questions and Programming.
Final Exam
(2 Hours)
25% (Questions, including
multiple choice and Programming.)
Letter Grade
Points
A
90-100
B
80-90
C
70-80
D
60-70
F
Less than 60
1
Grading Policy on Homework Assignments and Projects
20% on Programming Style and Documentation.
80% on Correctness.
5B
Academic Integrity
Students must abide by AASU’s Academic Honor Code. Failure to do so will result in a
violation that will be reported to the Office of Vice President of Student Services. While
students may consult each other about the programming projects, programming
assignments must be submitted individually (for an individual grade). No copying of any
sort is allowed. Copying is regarded as plagiarism. The maximum penalty for
plagiarism and other forms of cheating is failure of the course.
Attendance: Mandatory.
Class Etiquette:
Please try not to be late or leave early, but if it is necessary, please inform me beforehand.
I reserve the right to refuse this privilege. Cell phones should be completely turned off.
Email: I sometimes send essential information to the class as a whole using SHIP email.
Topics
Hours
Classes, objects, object reference and access
UML and class design
Data field encapsulation
Immutable classes and objects
Static members
Strings and StringBuffer
Regular expression
Command line arguments
Text I/O
Inheritance and polymorphism
Abstract classes and interfaces
GUI basics, layout managers
Drawing graphics
Event-driven programming
Animation using Timer
Creating GUI
Applets
Exception handling
Reviews and Exams
1
4
1
1
1
2
1
1
2
3
4
3
3
3
1
3
3
2
6
Total Number of Hours:
45
2B
2
Tentative Schedule
Due to holidays, topics may float to other weeks.
WEEK
1
1/9
TOPIC
Why Objects? Define Classes, Create Objects and
Declare Reference Variables, Difference Between
Primitive Type Variables and Reference Type Variables,
Garbage Collection, Using Objects
REQUIRED READINGS
Chapter 7
2
1/14
Constructors, Visibility Modifiers, Class Encapsulation,
get and set Method Conventions.
Pass Objects to Methods, Static and Instance Variables
and Methods
Chapter 7
3
1/23
4
1/28
Scope of Variables, The keyword this, Array of Objects
Class Abstraction, Case Studies, Overview of Java API
The String Class
Project 1.0 due Wed Jan 23.
(no class Monday, Jan 21)
The Character Class, the StringBuffer Class
Pass Command-Line Arguments
Chapter 7
Chapter 7
Chapter 8
Chapter 8
Chapter 8
5
2/4
6
2/11
Inheritance, the super Keyword, Overriding Methods
Chapter 9
The protected and final keywords, the Object Class
Chapter 9
Polymorphism, Dynamic Binding, Casting objects.
Project 1.1 due, W Feb 13.
7
2/18
8
2/25
9
3/3
10
3/17
Abstract Classes and Interfaces
Wrapper Classes
Test 1 M Feb 18
Java GUI Programming, JFrame, Container, Layout
Managers, JPanel. Graphics, Color, Font, FontMetrics.
Graphics: Graphics and coordinate system.
Project 3 due
Event-driven Programming
(Spring Break March 9 – 15).
More GUI and Event-Driven Programming
Chapter 9
Chapter 10
Chapter 12
Chapter 13
Chapter 14
Chapter 13, 14
3
11
3/24
More GUI Interfaces and Event-Driven Programming
Chapter 13, 14
12
3/31
More GUI: Buttons, Labels, Text Fields, Text Area,
Check Box, Combo Box, Radio Button, List, Borders
Applets and Multimedia:
Applets, Passing Parameters to Applets, enabling
Applets to Run Standalone
Chapter 15, 16
13
4/7
Object Oriented Design
The Process of Program Development.
Relationships Types among classes: Association,
Aggregation, Composition, Dependency, Weak and
Strong Inheritances.
Class Design Guidelines.
Chapter 11
14
4/14
Exception Handling and Assertions
Chapter 17
15
4/21
I/O (Stream, Byte Stream and Character Stream, File
Class,
Chapter 18
16
4/28
File Stream
Print Stream, Buffer Stream, and File Dialog
Chapter 18
Last Day of Classes: Wed, April 30
Final Exam on Wednesday, May 7 at 6:00
Comprehensive Final
Exam.
4
Download