Cunningham, Susie - JAVA Programming

advertisement
Course Syllabus
JAVA Programming
2015 Fall
First semester course
Instructor:
Email:
Mrs. Susie Cunningham
susie.a.cunningham@gmail.com or scunningham@bsu.edu
Office Hours
Monday
Noon – 3:00 p.m.
Wednesday
Noon – 3:00 p.m.
Friday
1:00 – 3:00 p.m.
Other times for Office Hours may be arranged by appointment.
Description:
This course uses a high level, object oriented programming language. Students will learn syntax and the
development of algorithms. The emphasis is on developing problem-solving skills and programming techniques.
This course is designed for students with a computer programming background who desire a more challenging
programming course. Semester 1 topics will include defining variables, primitive data types, objects, methods,
strings, if/else conditionals, loops (for, while, and do while), one and two dimensional arrays, arraylists, inheritance,
interfaces, abstract classes, basic input/output files and using applets, error handling, testing and debugging.
Semester 2 topics will include using data structures such as linked lists, stacks, queues, binary trees, sequential and
binary searching, sorting, traversing trees, hashing and Big O Notation. Laboratory activities include the required
NEW AP Computer Science A lab exercises. A new fourth day has been added to the AP Computer Science A
course to allow students to work on projects/labs in class.
Successful completion of this course will prepare the student for the Advanced Placement Computer Science A
exam.
*Ball State University offers 4 college credit hours in CS121 (semester 2) to students who complete this course and
next semester. Refer to the Dual Credit section of course catalog for details on enrollment and fees.
Text:
JAVA Software Solutions for AP Computer Science, Lewis, Loftus, and Cocking, Addison Wesley, 2004.
JAVA Programming Complete Concepts and Techniques, Shelly, Cashman, and
Thomson Learning, 2001.
Starks,
JAVA Concepts, Horstmann, Wiley, 2005.
Barron’s How to Prepare for the AP Computer Science Advanced Placement
Java Version, Teukolsky, Barron’s Educational Series, Inc., 2003.
Examination
The NEW College Board’s AP Computer Science A lab exercises in Java
Course Methodology:
Course methodology will include hands-on and group activities, lectures, outside readings,
classroom discussion, and programming projects.
Student Evaluation:
There will be 3 tests, 13 homework assignments (including Lab Homework), 3 sets Sample
Test Questions, and a major final programming project.
Method of Grading:
Grades will be based on a point system.
Points
Tests 1 - 3
Final Project
Practice Questions
Homework Assignments
Total Points
300
100
30
120
550
Accumulated totals are then distributed into letter grades as follows:
A
(93% - 100%)
A(90% - 92.9%)
B+
(87% - 89.9%)
B
(84% - 86.9%)
B(80% - 83.9%)
C+
(77% - 79.9%)
C
(73% - 76.9%)
C(70% - 72.9%)
D*
(69% and below)
Classroom Policies:
Homework Assignments: Homework assignments must be turned in by the due date. Assignments
may be turned in earlier than the due date. Any late homework will result in a reduced grade. (25%
off for each day late.) Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday all
count as days. A timeframe for a day constitutes from 12:01 a.m. – Midnight.
Absence prior to due Date: Missing class (excused or not) prior to a test, or other due dates for
homework assignments does not exempt the student from preparing and taking the test and/or submitting
the required homework assignment on the due date. Exceptions may be granted in advance of class time
and must be discussed with the instructor.
Tardiness: Students arriving more than 5 minutes late to class are marked tardy.
Academic Dishonesty: (Refer to the Indiana Academy Handbook.)
In the event, a student turns in a computer program for a homework assignment or test that was not
originally written by the student, the homework or test will fall under the category of plagiarism. This will
be considered a serious offense. Students will be allowed to ask for help from other students if they are
working on a preannounce group project or the student needs assistance finding a syntax error or minor
errors.
If a student does use code in a programming homework assignment or project that was obtained from the
Internet, another programming source, or writing code that is similar in nature, the student must put in a
comment in the computer program with the source of where the code was obtained, otherwise this will be
considered under the category of plagiarism.
Furthermore, if a student writes a computer program for another student, the student “knowingly
permitting one’s work to be submitted by another person as if it were the submitter’s original work” will
also be penalized.
Penalties will be assessed in accordance to the Indiana Academy Handbook.
Work on classroom homework during class time: Unless instructed otherwise, students need to be
working on items relating to the classroom homework/topic during the class time. 5 points will be
deducted from the student’s total score for each violation. Examples of violations would include the
following: Chatting online, Instant Messenging, sending email during class, Facebooking and
playing games that are not related to class work, etc.
Class Activity and Assignments
Java Programming Course
Week of August 12, 2015:
Students will be introduced to information based systems, history of computers, and language translation.
Students will open personal computers, take out basic computer parts and put personal computers back
together. During this hands-on process, students will learn how basic components and how they interact.
Students will begin to work with data on a binary level (base 2 and hexadecimal) and will convert data to
ASCII and EBCDIC formats.
HW #1 (10 pts.) – Convert decimal to ASCII and vice versa. Students will be provided Java code
and through a multiple choice matching will need to identify the various parts of a Java program.
Due: August 19, 2015 (by midnight)
Complete reading assignment: Chapters #1 - 2 (LLC)
Students will actually begin programming basics and learn how to use variables, objects, primitive data,
basic concepts of methods, “is a”-“has a” relationships and graphics using object-oriented programming.
Students will be introduced to how the Java classes are imported and where the actual classes and
methods are located in the corresponding directories on a personal computer. Students will actually write
a basic Java program.
HW #2 (5 pts.) – Program first Java program. Students will program an ASCII Art picture.
Due: August 19, 2015 (by midnight)
Complete reading assignment: Chapters #3 - 4 (LLC)
Week of August 19, 2015:
Students will be introduced to the different Java components, loops (for, while, and do/while), if/else and
switch statements, math functions, the random generator and methods. The minimum and maximum
values will be discussed.
HW #3 (15 pts.) – Students will program the dice game Bunco.
Students will be expected to incorporate the different Java components, loops (for, while, and
do/while), if/else statements, math functions, and create their own methods in the homework
project.
Due: August 26, 2015 (by midnight)
Complete reading assignment: Chapter #3 (LLC) Chapters #6 & 7 (Horstmann)
(With all programming projects, students will be expected to check for invalid data input and handle c
orresponding exceptions. Students will need to try and throw exceptions. Students are challenged to see
if they can turn in a project for a first pass that the instructor cannot break through a data entry. Also,
students are encouraged to test each other’s projects to find computer bugs or logic errors.)
Week of August 26, 2015:
Students will be introduced to passing variables and objects to methods, using global variables (along
with a discussion of the advantages and disadvantages of using global variables), and the static modifier.
Students will study how information is physically stored in memory and on a hard drive.
Students will be introduced to inheritance and polymorphorism, class hierarchies and creating their own
classes.
Students will be introduced to a discussion about maintaining computer programs. Also, topics of ethics
and how students would handle different business situations will be presented.
HW #4 (15 pts.) – Students will program a Virtual Pet program. A group discussion will be
encouraged as to what a general pet would do (i.e. eats, sleeps, etc.). From this discussion a
general Pet class is created with suggested methods. Then, the students will need to discuss
what kind of pet (dog, cat, cow, etc.) to create, the specific actions their pet will do and which
ones can be used (inherited) from the main Pet class.
Due: September 2, 2015
Complete reading assignment: Chapter #4, Chapter #5 and Chapter #7 (LLC)
Chapter #9 (Horstmann)
Chapter #13 (Horstmann)
Chapter #15 (Horstmann)
Practice Questions Set #1 (10 pts.)
Week of September 2, 2015:
Students will be given a set of AP Questions based on the concepts that have been presented.
Due: September 2, 2015 (by midnight)
Will go over answers for Practice Questions Set #1. – September 2, 2015
Will review for first test.
Week of September 9, 2015:
Test #1 – September 9, 2015 - Multiple Choice Section (100 pts.)
Weeks of September 16, 2015:
Students will learn how to read and write to a file and work with string manipulation. The topic of
encryption will be discussed and using csv files. Students will also learn about sequential and binary
searching techniques. A topic of converting data files from one computer system to another computer
system will be presented.
HW #5 (10 pts.) – Students will be asked to design their own encryption algorithm. The students
will then write a program to encrypt a login and password. Save the encrypted login and
password to a csv file. Write another program to have a user type in a login and password. This
login and password will then be compared to the decrypted login and password from the csv file.
Due: September 23, 2015 (by midnight)
Complete reading assignment: Chapter #16 (Horstmann)
Weeks of September 23rd and 30th , 2015:
Students will be introduced to Arrays and ArrayLists and iteration. Students will be introduced to how
items are stored, searched, and deleted in an actual memory location.
Students will begin the first NEW AP Computer Science A lab exercises for Magpie. Activities #1 –
3.
HW #6 (10 pts.) – Students will create a Yahtzee program using the concept of Arrays.
Due: September 30, 2015 (by midnight)
HW #7 (5 pts.) – Students will take HW #9 and reprogram the Yahtzee program using ArrayLists.
Due: October 7, 2015 (by midnight)
HW #8 (5 pts.) – Complete Magpie Student Activity #4. Due: October 7, 2015
Week of October 7, 2015:
Questions Set #2 (10 pts.) Students will be given a set of practice Questions based on the
concepts that have been presented. Due: October 7, 2015 (by midnight) Will go over answers for
Practice Set Questions Set #2.
Students will work on the second NEW AP Computer Science A lab exercises for the Picture Lab.
Activities A1 – A5.
Weeks of October 14th and 21st, 2015:
Students will be introduced to using and creating interfaces and abstract classes. Students will be asked
investigate the differences between interfaces and abstract classes and when would be the best to use if
different system designs. Polygons and polylines using graphics and more advanced GUI features using
mouse events.
HW #9 (10 pts.) – Students will be asked to create an object like a universal remote control using
the interface and abstract class concepts.
Due: October 21, 2015 (by midnight)
HW #10 (10 pts.) – Students will need to create/program a graphical picture and animate one of the
objects in the picture. Students will be asked to visit the Sun-Java website and will learn how to
discover how to use methods through their own initiative using the various graphic methods for
applets.
Due: October 28, 2015 (by midnight)
HW #11 (5 pts.) - Complete Picture Lab Student Activity #6 and #7. Due: October 28, 2015
A review of material will be made at this point.
Complete reading assignment: Chapter #6 (LLC)
Week of October 28, 2015:
Test #2 – October 28, 2015 (Multiple Choice section)
(100 pts. total)
Week of November 4, 2015:
Students will learn be introduced to sorting (Bubble, Selection, Insertion, Mergesort, and Quicksort) and
the Big-O Notation.
Students will manually sort themselves in various configurations before learning the actual computer
sorting algorithms. Students will then come up with various ways of sorting themselves. Then, based on
their different ideas the actual labels for bubble, selection, etc. will be given to their ideas.
Through various experiments in a classroom settings, students will be asked to come to various
conclusions. Students will compare their conclusions with the Big-O Notation results.
Students will work on the third NEW AP Computer Science A lab exercises for the Elevens Lab.
Activities A1 – A11.
Students will be introduced to recursion. Students will try out various “mystery” recursion questions.
HW #12 (10 pts.) – Students will be asked to program various sequences for counting boxes.
Due: November 11, 2015 (by midnight)
Complete reading assignment: Chapter #6 – sorting section (LLC)
Chapter #19 (Horstmann)
Additional handouts – Wiki for sorting and other
Internet sites which visually demonstrate the various sorting
notations.
Week of November 11, 2015:
Practice Questions Set #3 (10 pts.)
Students will be given a set of practice Questions based on
the concepts that have been presented. This set of questions will include the “mystery”
questions. Due: November 11, 2015
Will go over answers for practice Questions Set #3.
A review of material will be made at this point.
Complete reading assignment: Chapter #8 (LLC)
Chapter #18 (Horstmann)
Week of November 18, 2015:
Test #3 – November 18, 2015 (Multiple Choice section)
(100 pts. total)
Weeks of November 4 through December 8, 2015:
Students will work on programming major project for class.
Final Programming project for class will be presented. Students will need to make a formal
presentation. All final project are due by December 9, 2015!!
Download