INEW2438

ADVANCED JAVA PROGRAMMING

FALL 2017 - SPRING, 2018

CLASS NUMBER/NAME:INEW2438 ADVANCED JAVA PROGRAMMING III

CLASS DAYS/HOURS:Period 7, 1:00 – 2:35 (B day)

COURSE PREREQUISITE:ITSE2417,

HS COMPUTER SCIENCE II,

AP COMPUTER SCIENCE A,
OR INSTRUCTOR CONSENT

BASIC SKILLS REQUIREMENTS:READING

INSTRUCTOR:Mrs. Judith Hromcik

EMAIL:

OFFICE:309

PHONE:972-925-6309

INEW2438

ADVANCED JAVA PROGRAMMING

FALL 2017- SPRING, 2018

COURSE DESCRIPTION

Prerequisite:ITSE2417, AP Computer Science A, or instructor consent.

Further applications of programming techniques, introducing the fundamental concepts of data structures and algorithms. Topics include basic data structures, (stacks, queues, linked lists, hash tables, trees, and graphs), searching, sorting, recursion, algorithmic analysis and efficiency, testing, validation and documentation. This course may use instructional examples and assignments from various programming languages, but will be taught using Java.

This course emphasizes programming methodology with a concentration on problem solving and algorithm development.It includes all the topics of AP Computer Science A as well as a more formal and in-depth study of algorithms, data structures, abstraction, and fundamental discrete mathematics.

COSC 2436 is a computer science course.This indicatesthat this course is a disciplined approach to a more broadly conceived subject than computer programming.

This is a 4 credit hour course. (3 Lec.,4 Lab.)

COURSE MATERIALS

Textbooks:Java Methods A and AB, MariaLitvin & Gary Litvin, 2006 (0-9727055-7-0)

Barron’s AP Computer Science Levels A and AB, Roselyn Teukolsky, 2007 (0-7641-3709-3)

Your green quick reference packet should be available at all times during class, please bring it.

Astudentofthisinstitution(ElCentroCollege)isnotunderanyobligationtopurchaseatextbookfromauniversity-affiliatedbookstore.Thesametextbookmayalsobeavailablefromanindependentretailer,includinganonlineretailer.

FINANCIAL AID STATEMENT

Students who are receiving any form of financial aid should check with the Financial Aid Office prior to withdrawing from classes.Withdrawals mayaffect your eligibility to receive further aid and could cause you to be in aposition of repayment for the current semester. Students who fail to attend or participate after the drop date are also subject to this policy.

DROP PROCEDURE/ATTENDANCE

If you are unable to complete the course or courses for which you have registered, it is your responsibility to withdraw formally from the course.You need to speak with and obtain the signature of the course instructor to drop the course.If the instructor is not available, a counselor, advisor, or dean may sign the drop form.Failure to drop will result in a performance grade, usually a grade of "F."THE LAST DAY TO DROP BY 7 P.M. – March 9, 2017.

Students sometimes drop courses when help is available that would enable them to continue.I hope you will discuss your plans with me if you do feel the need to withdraw. There are many alternatives provided for you to complete this class instead of withdrawal.

In Case You Are Late or Absent

It is your responsibility to get the course notes, handouts, and lab assignments should you miss class or be late.

STOP BEFORE YOU DROP

For students who enrolled in college level courses for the first time in the fall of 2007, Texas Education Code 51.907 limits the number of courses a student may drop.You may drop no more than six (6) courses during your entire undergraduate career, unless the drop qualifies as an exception.Your campus counseling/advising center will give you more information on the allowable exceptions.

Remember that once you have accumulated six non-exempt drops, you cannot drop any other courses with a “W”.Therefore, please exercise caution when dropping courses in any Texas public institution of higher learning, including all seven of the Dallas County Community Colleges.For more information, you may access:

ACADEMIC ETHICS

Any violation of the Student Code of Conduct (as printed in the El Centro College Catalog and available at ) will be penalized accordingly.All matters of academic dishonesty (plagiarism, collusion, fabrication, cheating, etc.) will result in a failing grade for the assignment in question.All violations will be forwarded to the proper college authorities for review.The college may, at its discretion, impose additional penalties on the student including academic probation, suspension, or expulsion.ANY form of disruptive behavior will not be tolerated.

COURSE OUTCOME

The student will utilize basic Java syntax, fundamental principles of Object-Oriented design and programming, API documentation, design patterns, and be able to design and code Java applications.

Students will be become proficient in both implementing advanced data structures and utilizing the related Java library classes (Java Foundation Classes).The advanced data structures include Two-dimensional Arrays, Linked Lists (singly, doubly, circular), Stacks, Queues, Trees, Heaps, Priority Queues, Sets, Maps, and Graphs.

STUDENTLEARNINGOUTCOMES:

UponsuccessfulcompletionofINEW2438,studentswillbeableto:

  • Design and Implement object-orientedprograms using basic data structures that include stacks, queues, linked lists, hash tables, trees, and graphs.
  • Apply recursive techniques, searching and sorting algorithms to solve problems
  • Develop an understandingofalgorithm efficiency, Big-O notation, and why it should be considered in programming.
  • Analyze and select appropriate data structures to implement a solution to a problem
  • Demonstrate best practices of software development including testing, validation, and documentation.
  • Use critical thinking when solving problems and providing solutions.

Learning Outcomes / Evaluation
Object Oriented Program design
  • Specify the purpose and goals for a problem.
  • Decompose a problem into classes.Define relationships and responsibilities of those classes.
/
  • Group discussion and lab assignments
  • Homework, group discussion, lab assignments, objective tests

Object Oriented Class design
  • Design and implement a set of interacting classes.
  • Choose appropriate advanced data structures and algorithms.
  • Utilize design patterns.
/
  • Homework, and lab assignments
  • Homework, group discussion, lab assignments, objective tests

Program Implementation
  • Utilize the advanced Java library classes appropriately.
  • Throw runtime exceptions; Utilize try-catch blocks
/
  • Homework, group discussion, lab assignments, objective tests
  • Homework, lab assignments, objective tests

Program Analysis
  • Identify invariants
  • Analyze algorithms
    (Big-, Big-, Big-)
  • Analyze worst case and average-case time and space efficiency
/
  • Homework, group discussion, objective tests
  • Homework, group discussion, objective tests
  • Homework, group discussion, lab assignments, objective tests

Standard Data Structures
  • Develop and utilize advanced data structures (2D Arrays, Linked Lists (singly, doubly, circular), Stacks, Queues, Trees, Heaps, Priority Queues, Sets, Maps, and Graphs)
/
  • Homework, group discussion, lab assignments, objective tests

Standard Algorithms
  • Implement and utilize iterators
  • Implement and utilize hashing
  • Implement and utilize advanced sorting (Quicksort, Heapsort)
/
  • Homework, group discussion, lab assignments, objective tests
  • Homework, group discussion, lab assignments, objective tests
  • Homework, group discussion, lab assignments, objective tests

MAJOR COURSE REQUIREMENTS

Students will participate in discussions addressing topics covered in the course

Students will complete lab assignments and projects which include:

Basic data structure, stacks, queues, linked lists, hash tables, trees and graphs

Recursive techniques and algorithms for searching and sorting

Big-O notation

Testing, validation and documentation

Other concepts determined by the instructor

Advanced concepts, knowledge and understanding of the object oriented language selected will be evaluated through assignments, projects and exams.

SUBJECT MATTER

Topics covered in the course will vary depending upon the object-oriented language selected and will include:

  • Data structures
  • Stacks
  • Queues
  • Linked lists
  • Hash tables
  • Trees
  • Graphs
  • Recursive techniques
  • Searching and sorting algorithms
  • Big-O notation
  • Object oriented concepts
  • Program testing and documentation

INSTITUTIONAL POLICIES

All El Centro students are responsible for knowing and adhering to the following institutional and course-related policies:

●Course-related Institutional Policies

DISCLAIMER

The provisions contained in this syllabus do not constitute a contract between the student and

El CentroCollege. These provisions may be changed at the discretion of the Coordinator/Instructor. When necessary, appropriate notice of such changes will be given to the student. The instructor-of-record may provide additional information to enhance the course to meet the needs of the enrolled students, provided that the enhancements do not conflict with the official course syllabus.

COMPUTATION OF FINAL GRADE

In order to satisfy the curricular requirements of El Centro Community College and the Dallas Independent School District, student 6-week grading period progress will be evaluated and weighted as follows:

Course Category / Course Weight
Homework, TREK, TAG IT / 10%
Daily Work (Labs, Quizzes, Programs, Class Work) / 40%
Examinations / 50%

There will be a semester examination at the end of each semester.The semester examination will comprise 15% of the semester grade.Each of the three 6-week grades will be averaged and will comprise 85% of the semester grade.

El CentroGrade Evaluation:

A=90-100

B=80-89

C=70-79

D=60-69

F=59-Below

GRADING POLICY

  • There will generally be at least one in-class examination per chapter of Methods A and AB. If a student fails an exam, an alternate exam may be scheduled with me to be taken before or after school within 5 school days (not class days) or no later than 10 days after the original test date.Students will receive the higher of the two grades unless it is determined that the student's behaviors or actions clearly demonstrate that a major test was failed due to lack of effort or inappropriate behavior. In such case, a grade penalty shall be either the average of the two tests or a 70 (if either of the average or the second attempt is above 70).This test retake policy does not apply to take-home examinations or end of semester examinations.
  • There will be frequent homework.It is usually graded for effort (completion).The only way to get a 100 is by having your homework complete and on time.Late homework receives a maximum grade as follows:
  • One class day late – 70% maximum grade
  • More than one class day late – 0 maximum grade
  • There will be frequent quizzes. Many of these quizzes will be short free response style quizzes.
  • Your teacher will conduct ongoing formative assessments to keep track of your progress.These formative assessments will generally not be graded.They will be used for early identification of difficulties that you may be having.Extra credit assignments are often available for students who have completed their regularly assigned work.

LAB WORK

Because the development of computer programs to solve problems is a skill fundamental to the study of computer science, a large part of the course is built around the development of computer programs or parts of programs that correctly solve a given problem.The course also emphasizes the design issues that make programs understandable, adaptable, and, when appropriate, reusable.At the same time, the development of useful computer programs and program modules is used as a context for introducing other important concepts in computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, and the study of standard algorithms and typical applications.This course will be taught using the Java programming language.Java is the most used language for introductory computer science courses.

Students have access to computers in room 311 during class as well as before and after school.These computers contain the Sun Java 8.0 JDK as well as the JCreator and jGRASP development environments, which is the software that we will be using.Students should be able to complete all assignments using TAG computers.

However, students may find it useful to be able to do Java programming work on their computers at home.All the Java software we use can be downloaded from the internet for no additional charge.I will also make this software available on CD.

CLASSROOM RULES AND EXPECTATIONS

The entire TAG family works hard to provide you with an exemplary educational experience.We endeavor to provide a quality environment, instruction, equipment, and facilities.Be respectful of our commitment by honoring the following rules and responsibilities.Help your peers act appropriately as well.

Rules

  • Participate in computer science related activities for the entire class period. A maximum of one student initiated pass is allowed each 6-weeks. A doctor’s note is required for additional bathroom or water fountain passes.
  • Follow all school rules. All electronic devices must stay in backpacks during school hours unless use is preapproved by Hromcik or Goode.
  • All work you submit must reflect your own understanding.Plagiarism or other cheating will have significant consequences including but not limited to zero grades and parent notification.
  • TAG computers are for school related work only. Do not use them to play games, listen to music, watch videos, view social media, download or install software. Do not deface property, make any configuration changes, use proxies, or do anything to computers that might disrupt others’ use.
  • When the tardy bell rings, your backpack & electronic devices must be in your cubby (309) or the backpack corral (311), and you must be in your seat with all materials ready.
  • Do not eat or drink in the classroom or lab unless specifically permitted. Water is permitted except at computers.
  • Wear your ID badge at all times.

Responsibilities

  • Participate in class and take notes.
  • Complete your homework on time.
  • Keep a notebook with your syllabus, notes, homework, and other handouts.
  • Don’t get behind.Leaving your reading and homework until the last minute is a big mistake.

CELL PHONE

Cell phones may only be used for instructional purposes that are pre-approved by Mrs. Hromcik. I will take-up all cell phones that I see in my classroom during normal school hours.Students will have to pick them up in the TAG office after paying the applicable fee.

GRIEVANCE PROCEDURES

Students are expected to follow established procedures of the appropriate division in handling academic issues, such as grade appeals.El Centro College requires that other complaints and disputes (that cannot be resolved by the persons directly involved) be referred initially to the Ombudsman Office for informal, confidential resolution.Additional grievance procedures and the Student Code of conduct are outlined in the El Centro College Catalog, available in hard copy in advisement or on the web at

RELIGIOUS HOLY DAYS STATEMENT

A student who is absent from classes for the observance of a religious holy day shall be allowed to take an examination or complete an assignment scheduled for that day within a reasonable time after the absence if, not later than the fifteenth day after the first day of the semester, the student notified the instructor of each class scheduled on the date that the student would be absent for a religious holy day.A “religious holy day” means a holy day observed by a religion whose places of worship are exempt from property taxation under Section 11.20, Tax Code.The notice shall be in writing and shall be delivered by the student personally to the instructor, with receipt acknowledged and dated by the instructor or by certified mail, return receipt requested, addressed to the instructor.A student who is excused under this section may not be penalized for the absence, but the instructor may appropriately respond if the student fails to satisfactorily complete the assignment or examination.

COMPUTER USE POLICY

Access to school computers is critical in order to do your required work.I will expect absolute Facebook, Google+, play computer games, listen to music, watch videos, download or install software, make any configuration changes or use proxies.This policy also applies before and after school.

SOFTWARE COPYING POLICY

Copying computer software without the expressed written permission of the copyright holder may be unlawful and subject to civil and criminal penalties.To protect you, the college and the copyright holder, no software used to complete the lab exercises may be copied by students.

DISABILITY ACCOMODATIONS

Any student who may need accommodations due to a disability should contact the Disability Services Office, Room A110, phone number (214) 860-2411.

COURSE OUTLINE

Assignments and due dates are given in class and are posted on Google Classroom.There may be changes during the year, but this outline is presented so you can plan your work.

The instructor may alter this course outline at any time due to time constraints, loss of school days, or unforeseen problems with computer equipment, labs, etc.

The following is a breakdown of the week-by-week timeline for this course.

First Semester

Weeks / Topic / Lab Assignment
1– 4 / Stacks and Queues / Solitaire
5 – 7 / Classes and Interfaces
Inheritance; Polymorphism using classes and interfaces; Specify the purpose and goals for a problem; Decompose a problem into classes, define relationships and responsibilities of those classes; Design and implement a set of interacting classes; Design an interface. / TBA
6 / TREK
TAG Trek / N/A
8 – 10 / Lists and Iterators
Implementation (using ListNode) and use of linked lists (singly, doubly, and circular); Traversals, insertions, deletions, iterators. / Singly Linked
List
11 – 12 / Recursion
Understanding and implementing structural and procedural recursion. / Recursive Sorted Linked List
13 – 15 / Binary Search Trees
Implementation (using TreeNode) and use of Binary Search Trees (traversals, insertions, deletions, iterators); / Morse
16 / Semester Finals

Second Semester

Weeks / Topic / Lab Assignment
17 – 20 / Look-up Tables and Hashing
Implementation and use of look-up tables and hash tables (traversals, insertions, deletions, iterators); hashCode method; JCF Set, Map, HashSet, HashMap. / Search Engine
21 –23 / Heaps and Priority Queues
Implementation and use of heaps and priority queues (traversals, insertions, deletions, iterators); JCF Queue and PriorityQueue. / Heapsort
24–26 / Sorting and Big-O Analysis / Sort Detective
27 – 32 / Graphs
Implementation and use of graphs and graph algorithms (Shortest Path algorithms including Dijkstra’s Algorithm, Topological Sorting, Acylic Shortest Path, Critical Path Analysis / Package (Dijkstra)
Huffman
33 – 35 / Design Patterns
Implementation of Object Oriented Programming utilizing design patterns (Façade, Singleton, Strategy, Decorator, Composite, Model View Controller). / Easy Date
Logger
BeeperLayer
Filter
Temperature
36 / Semester Finals

INEW 2438 Syllabus-- 1 --RGM/JH - 8/22/2017