CECFC Period 1 CSC161 Java

Basic Course Information

Course Name: CSC16178A Computer Sci II: (Java)
Course Sections: Period 1 : C161-65819-78A
Semester: Fall 2020
Credits: 4
Prerequisites/Co-requisites: CIS160 Java
Meetings/Times: Mon-Fri 7:50 AM – 8:45 AM
Location: CECFC HS – 228

Instructor Information

Instructor: Wayne Cook, Head of Computer Science Department, CECFC
Office Phone: (970) 337-0044
Email: [email protected]
College Web Site: www.frontrange.edu
HS Web Site: https://fortcollins.coloradoearlycolleges.org
Office Location: CECFC HS 228
Office Hours: Tuesday or Thursday (same time as your class), or by appointment
Department Contact: N/A

Course Materials

Introduction to Java (Programming and Data Structures) Y. Daniel Liang (11the Edition)
ISBN-13: 978-0-13-467094-2

Windows 10

IntelliJ Idea – Community Edition (you can download this at home for free.

You need at least two ways to store your files, a USB Flash drive, emailing it to yourself, your hard drive (at home), student storage or submitting to Infinite Campus. Put your name on all flash drives. Having a storage device fail or lost will NOT be an accepted excuse for turning in your assignments late. Most of the time you will be turning in assignments electronically through Infinite Campus.

Welcome Message

Welcome to CSC161. This class introduces data structures and more advanced programming practices. We use IntelliJ Idea for code development, but the why is just as important as the how. If something is not clear, please ask questions.

CCCS Required Syllabus Information

Catalog Course Description

Continues algorithm development and problem solving techniques not covered in Computer Science I using a high-level programming language. Students are able to gain experience in the use of data structures and the design and implementation of larger software projects. Intensive computer laboratory experience is required for this course.

Course Learning Outcomes

  1. Demonstrate how to convert a binary number to a hexadecimal number.
  2. Input data from the computer keyboard using standard input and output commands via a programming language.
  3. Create a program that demonstrates the use of variables and constants.
  4. Develop and implement basic program elements of processes, loops, and sequences.
  5. Write a program using control structures and functions.
  6. Write and modify a program using array processing.
  7. Design a program that outputs processed data to the computer screen.
  8. Create a program using File I/O from a program specification.

Additional Info: Typing skills are helpful. Students taking this course should allow additional time outside of class hours to complete assignments in the computer lab when classes are not being held OR have access to a computer that has Windows 10 and Microsoft Visual Studio – Community Edition

Topical Outline

  1.  Inheritance and Polymorphism
  2.  Exception Handling
  3.  Abstract Classes and Interfaces
  4.  JavaFX
  5.  Recursion
  6. List, Stacks, Queues, and Priority Queues
  7.  Binary Search Trees
  8.  Hashing
  9. Graphs and Applications
  10.  (push) Advanced JavaFX and FXML
  11.  (push) Multithreading and Parallel programming

Course Overview

Instructor’s Overview of the Course

This is a “hands-on” course, where I will give an overview of each new concept and book chapter. The book is only one resource and should be used as such. Use the internet to search for helpful hints. Talk with each other, especially when stuck on a particular concept. Please feel free to share your developing expertise with your classmates. Your grade is earned by your own efforts and is not based on a curve. If you help each other, you will gain better understanding of the subject and consequently will earn a better grade.

  1. Lectures: Important material from the text and outside sources will be covered in lectures. Not all material can be found in the text nor in the lecture. Students that miss class usually have trouble with the material. Students are responsible for everything that is covered in class. This means YOU need to find someone to take notes for you if you are not able to attend class. If you are absent, you need to let me know BEFORE class begins. I will be much more willing to help students get caught up if they keep me informed. If you are not in class and not excused, you will lose points.
  2. Lecture notes: On days where a significant amount of information is written on the white boards, you will need to take notes. The notes will be checked several times throughout the semester. Lecture notes grades count as assignments. Some students have found it useful to take pictures of what is written on the board for accuracy. This is allowed and even encouraged. BUT, you will need to transcribe it to handwriting. Printouts of pictures of the board or photocopies of other people’s notes will not count as correct. You can copy someone else’s notes.
  3. Infinite Campus: I use Infinite Campus as a supplement for all of my classes. On it you will find all of the assignments, online quizzes, announcements and discussions.
  4. In class weekly quizzes: Many quizzes will be given to help ensure students stay abreast with assigned material. Weekly quizzes (on different days of the week) will be given in class; they can’t be made up, but you can be excused if you let me know you will be gone ahead of time. If you miss class and are not excused you will receive zero points for the day. For example if the quiz is worth 14 points and you don’t show up and are not excused you will have 0 points for the day. Five quizzes will be extra credit. You will be allowed a one page (8.5 x 11) cheat sheet for all quizzes and exams.
  5. Infinite Campus Quizzes: The Infinite Campus quizzes will allow you unlimited tries, but they will need to be done before the deadline. The quiz will show you your score but not which questions were right or wrong. If you don’t get 100%, you should review everything and try again. The answers are released after the due date.
  6. Homework Assignments: There will be many assignments, at least one per week. Late assignments will lose 10% for each day they are late, including weekends and breaks. You will be allowed to redo assignments to increase your score. After the due date, redone assignments will be given a late penalty of 10% on the corrected material, for each day after the day it is returned and after the deadline. For example, if your grade is a 70% and it is returned to you and you correct it and turn it back the following day and this time it is perfect, you would get a score of 97%. You lose 3 points, which is 10% on the 30 points that you corrected. (70 + 30 – 3 = 97) If there is a paper copy, you need to turn in the corrected copy and the old copy with the notes on what was incorrect.
  7. Homework redo: You may redo the assignment several times if needed. Any points that are not corrected on the next assignment will be doubled on the redo. On electronic copies you need to change the name to reflect the fact that it is a redo and turn it into the next available dropbox. The last day a redo is accepted will be when there are no points available or the last day of school. If you turn in work early, I will try to get it back to you so you can do a redo before the due date. I can NOT guarantee this will happen.
  8. Interview grading: Twice during the semester students will need to bring in their assignment and discuss what they did and how they did it. Just like other assignments students will be able to redo the assignment.
  9. Final project: Although the final project will be counted as a small part of the homework grade, the final project must be completed and presented or your grade will be dropped one letter. The final project is worth 2 homework assignments and the presentation is the same as ½ an assignment.
  10. Spelling and grammar: Spelling and grammar errors on typed information will cost you points. If I have spelling or grammar errors on typed information and you catch it, you will be given an extra credit quiz point. The first person that finds the error and posts it in the discussion on Desire2Learn will be given credit.
  11. Exams: Two midterm exams and a final will be given. The midterms will be primarily over recent material and the final will be comprehensive, with more emphasis placed on the material in the last part of the semester. You will be allowed a one page (8.5 x 11) cheat sheet for exams and quizzes.
  12. Minimum knowledge: In order to pass this class, by the end of semester you must be able to prove that you can write code that contains a loop, if statements, and functions without help and in a time constraint. Most people will accomplish this by the final exam.
  13. Professionalism: A part of this class is preparing you for your career. There will be at least two parts of the grade of the class that will be based on professional skills. The first is attendance and the second is the presentation at the end of the semester.

Graded Instructional Activities

Total points will be computed as follows. The total points for quizzes and assignments will vary.

ActivitiesContribution to Overall Grade
Quizzes10%
Assignments30%
Midterm Exams20%
Final Exam20%
Final Project20%

Grading Scales and Standards

The grading scale for this class is:.

Letter GradeRange
A90 – 100%
B80 – 89%
C70 – 79%
F69% and lower

NOTE: Borderline grades will be determined by the student’s work ethic. A good work ethic consists of regular class attendance, a good attitude, the ability to work independently and with a group; professional conduct and language; respect for the instructor, classmates, and other FRCC employees; and problem-solving skills.

Late Policy

Assignments will be expected on-time, turned into Infinite Campus. You will have one week to turn in each assignment. After that time, you will lose 10% of the grade for each week it is late.

Absence and Tardy Policy 

In CECFC’s fast-paced, semester-based program, attendance is crucial for success. In the event of an absence, a guardian needs to communicate with the school attendance line. See the Student and Family Handbook for guidance on “excused absences”.  
 
In addition, regardless of the nature of the absences, a student’s first priority should be to check the school website for information about course work for the day and then to contact the instructor to communicate the absence and to create a plan for completing any missed work.  

Arriving in class prepared and ready to learn is also crucial. Students who are arrive after the start of class will be considered tardy. Please be conscientious of arriving on time as to not disrupt your classmates and to ensure you are prepared to learn for the entire period. Three tardies in a course will be viewed the equivalent of an absence.  

You will be graded on your participation in class, this means being here on time, ready to learn and being respectful of classmates and the time allotted for this course. Leaving early, working on homework, reading for another class or packing up to leave before the end of class is not allowed.

Culture of Responsibility and Workforce Readiness

Students should read and be familiar with these school policies found on the CECFC website. Behavior contrary to these expectations will be dealt with through my classroom conduct plan outlined below. 

This class is the pre-requisite for college courses. Students are expected to conduct themselves in a manner that shows this college readiness in the following ways:

  • The student communicates questions or concerns with the teacher directly (in person or via email) and not through a third party such as a parent.
  • The student notifies the teacher of absences and communicates needs or confusion over make-up work
  • The student consistently engages respectfully and professionally in the classroom with all individuals.

Classroom Conduct

This class follows all CEC-FC and FRCC student policies (such as no wearing hats in class). In addition, there are two primary rules:

  • Treat each person in this room with the respect with which you would like to be treated.
  • Except when in an organized group discussion, only one person speaks at a time.

If a student engages in any disruptive behavior that negatively affects, disrupts, or impedes (1) the instructor’s ability to teach and/or (2) the other students’ ability to learn and/or (3) the general operation of the school, the student will be subject to disciplinary action.

Hybrid and Remote Attendance and Participation Policies:  

Students are expected to engage in synchronous class meetings with their cameras on and with the ability to use the chat function. 

If students are having technical difficulties, they must reach out to the instructor (see contact information under Instructor Information) immediately and/or tech support. CEC is providing IT/Tech support for remote learning via email and phone. 

  • Open a ticket – Email [email protected] 
  • Phone Support (M-F, 7:30-4:00) – 970-305-4303 

Student attendance/participation expectations

Students must demonstrate active participation to be marked as present for the day. The following behaviors count for earning a present and at least one of these behaviors must be demonstrated during a synchronous class or within the 24-hour window of an asynchronous class:  

  • Posting a thoughtful response to a discussion question  
  • Participating in a “live” discussion during class  
  • Using the chat feature to appropriately engage in class material to meet the learning goal  
  • Completing a class poll related to the learning goal  
  • Completing and/or uploading a worksheet provided by the teacher  
  • Completing a Microsoft Form quiz, questions, or response  
  • Creating and sharing a Flipgrid video  
  • Other assignments according to instructor’s discretion 

Remote Learning Expectations 

When interacting online with the instructor and classmates, students are expected to uphold expectations of professionalism and respect. This includes emails, discussion boards, and live class meetings. Students are expected to uphold the following expectations in all school related platforms and interactions online: 

  • Share your ideas and differing opinions but do not attack others 
  • Keep an open mind to what others have to say 
  • Do not dominate the conversation. Focus on interacting and inviting others into the conversation. 
  • Avoid slang and use complete, edited sentences to communicate your ideas clearly.  
  • Use emojis, underlining, or bold words when appropriate to convey tone, but avoid using these excessively or negatively. 
  • Appropriate humor can be acceptable, but remember it can often be hard to interrupt online. Consider what you are posting before you post it.  
  • Stay on topic and only post what is appropriate for the class and particular learning activity 
  • Use the “Community” channel in Teams for other questions or to connect with classmates. 

The instructor reserves the right to delete inappropriate or off-topic comments or posts. If a student does not meet these remote learning expectations, he or she may also be referred to the Campus Culture team and/or Dean of Academics.  

Video Recording and Sharing 

Live classes via Teams and D2L will be recorded and provided for all students to access at a later time in order to accommodate students who are unable to attend class and for students to material if needed. All of these course materials provided online are the property of the instructor. This includes videos, voice recordings, pictures, handouts, slides, etc. The following are appropriate uses of all materials provided by your instructor via Teams, D2L, or email. 

  • Downloading videos/voice recordings for yourself to review in connection to the course 
  • Saving or printing files to assist yourself in completing course work 

Students cannot download, print, post, or use the course materials in any other way without written consent from the instructor. Ensure that you ask for permission prior to using or sharing the intellectual property of the instructor for any other purposes other than completing and understanding coursework.  

Tutoring 

Tutoring is available through the Wolf Den and highly encouraged for students at all levels needing or wanting support in their courses. Visit the Wolf Den in person or on the CEC website to make an appointment.  

Academic Honesty

Students are expected to uphold FRCC’s Student Code of Conduct relating to academic honesty and assume full responsibility for the content and integrity of the academic work they submit. The guiding principle of academic integrity will be that a student’s submitted work, examinations, reports, discussions, and projects must be that of the student’s own work and unique to the course. Students are guilty of violating the honor code if they:

  • Represent the work of others as their own (this includes copying material from the Internet for discussion postings or other assignments without proper citation)
  • Use or obtain unauthorized assistance in any academic work.
  • Give unauthorized assistance to other students.
  • Modify, without instructor approval, an examination, paper, record, or report for the purpose of obtaining additional credit.
  • Misrepresent the content of submitted work.
  • The penalty for violating the honor code is severe. Any student violating the honor code is subject to receive a failing grade for the course and will be reported to the Office of Student Affairs. If a student is unclear about whether a particular situation may constitute an honor code violation, the student should contact the instructor to discuss the situation.

Collaboration. Unless otherwise instructed, all work submitted is to be done individually by the student. This means you should not be working in pairs or in a group to write discussion posts, complete assignments or take quizzes and other assessments unless specifically asked to do so by your instructor.

Plagiarism / Dual Submission. Plagiarism, whether intentional or accidental, is academic dishonesty and may incur disciplinary action ranging from receiving a zero on an assignment or failing a course to more severe consequences. Plagiarism means

  • Using someone else’s ideas and not correctly citing that use. This means that if you put someone else’s work into your own words, put it in your work, and do not correctly document it, the idea is plagiarized.
  • Using someone else’s words without quotation marks and not correctly citing that use.
  • Using someone else’s images or other works (such as from the Internet) without correctly citing that use.
  • Submitting work that has been turned in for credit in another class or at another institution unless specifically permitted by your instructor.
  • Students may be required to submit work that is evaluated for originality by Turnitin.com, a plagiarism detection software program that checks for certain forms of plagiarism.

Class Rules

We follow all CECFC and FRCC student policies(like no wearing hats in class). In addition, I have two primary rules:

  1. Treat each person in this room with the respect with which you would like to be treated.
  2. Except when in an organized group discussion, only one person speaks at a time.

Other

  1. No food or drink is allowed in computer classrooms.
  2. No cell phones, pagers, or other items that would interrupt the class.
  3. Turn off computer monitors when they are not being used in the class.

Notice: It is expected that in college classes you will average 2 hours of study time for each hour in class. Programming can be very time-consuming, but the only way to learn the concepts completely is to code them. Many students claim they spend closer to 10 hours most weeks trying to get code working, some weeks are significantly more, but most students do not need to spend this much time in one week if they keep up with the material.

Program Expectations

Disruptive Behavior: If a student engages in any disruptive behavior that negatively affects, disrupts, or impedes (1) the instructor’s ability to teach and/or (2) the other students’ ability to learn and/or (3) the general operation of the college, the student will be subject to disciplinary action.

Student of Concern: Front Range Community College provides faculty, staff and students a resource to report their concern about any member of the FRCC community. If you are concerned about yourself or someone else, please go to www.frontrange.edu/care and report.

Financial Aid: The following actions have eligibility implications for financial aid recipients: non-attendance, dropping courses, withdrawing from courses, repeating courses, academic progress, and the number of credit hours attempted and completed. You are strongly encouraged to seek financial aid advising throughout the term if you have any questions about eligibility implications.

Student Support Services: Students with a disability or in need of support services are encouraged to contact the learning resources and support programs on each campus to arrange for accommodations and support services. The link to the learning resources and support programs is: http://www.frontrange.edu/Current-Students/Learning-Resources-and-Support-Programs/ and the link to the disability services support information is: http://www.frontrange.edu/being-a-student/disability-services

Audio/Video Recording: A student granted permission by the instructor to make an audio or video recording may use the recording only for his or her own study and may not publish or post the recording on YouTube or any other medium or venue without the instructor’s explicit written authorization. All students in the class, as well as guest speakers, must be informed that audio/video recording may occur.

Non-attendance: At FRCC, we want you to succeed. To do so, you must attend class. If you do not attend class during the first two scheduled class sessions, you may be dropped from the course due to non-attendance. Students who are dropped must go through the late add appeal process, which includes securing the signatures of the instructor, Instructional Dean, and Campus Vice President to re-enroll after the add deadline for the course. Course re-enrollment is at the discretion of the instructor and it is unlikely you will be re-enrolled if you have not attended and participated in class.

Computer Ethics: A student will be subject to disciplinary action should he/she try to copy FRCC software or tamper with the network. Copying software is a copyright violation and is against the law. Also, please do not move computer equipment.

Online Learning Expectations

FRCC is committed to helping you succeed in your online courses. Please read the following section for a better understanding of expectations specific to online courses. If you have questions or concerns about course content and activities, contact your instructor right away. If you have questions or concerns related to support services or the student code of conduct, contact your Pathways Advisor or a member of the Online Learning team at 970-204-8250 or 303-404-5513. You can also email us ([email protected]).

Required Introduction to Online Learning

All students who are taking their first online course at FRCC are required to complete the “Introduction to Online Learning.” You will learn strategies for succeeding in online courses at FRCC, including how to use the online learning management system (D2L). Look for the “Introduction to Online Learning” under the “My Courses” heading on the home page when you login to D2L (https://frcc.desire2learn.com).

Interacting in Online Courses

Online classes provide opportunities for you to interact with your instructor and peers in a variety of online formats. Despite what is often modeled in public forums and social networks, civility and etiquette are important aspects in creating deep and meaningful learning. Personal attacks, monopolization, and bullying can stop valuable discussion and are harmful to academic discourse. For this reason, it is important that interaction in an online class is civil, respectful, and focused on the topic presented. If you notice behavior that violates this conduct, be sure to contact your instructor.

FRCC Online Attendance and Participation Policy

Students establish attendance in online courses by completing an academic activity based on course content. As defined by the Federal Department of Education, merely logging into the course site or introducing oneself to the class does not count as attendance. Some examples of successfully attending class include participation in a content-related discussion, quiz, assignment, or contacting your instructor. Students who have not participated by 11:59 PM on the deadline date will be dropped. Similarly, the last date of academic attendance must be reported to Financial Aid for students who do not earn a D or better; students who have not been in regular attendance may experience financial aid ramifications.

Online Proctored Exams

This course requires one or more proctored exams, either at an FRCC Testing Center, through an online proctoring service , or at another pre-approved location. Students who are unable to come to an FRCC Testing Center should contact their instructor and the FRCC Testing Center during the first week of class to arrange another option.

Before taking an exam at an FRCC Testing Center or other proctored location, plan to:

  • Bring a photo ID.
  • Arrive at the FRCC testing center early enough to allow enough time to complete the exam before it closes.
  • Work around busy periods in the semester, there can be an extra wait for a testing space to come available during common testing times.

FRCC Testing Center hours and proctoring information are available online (https://www.frontrange.edu/campuses/testing-centers).

Campus Closure Procedure

If Colorado Early Colleges closes due to inclement weather or another emergency, online courses will proceed unless Desire2Learn and/or Infinite Campus is impacted. If you experience particular hardship or problems completing the course as a result of an emergency, contact your instructor or call Online Learning at 970-204-8250 or 303-404-5513.

Technical Difficulties

FRCC’s Online Courses are hosted by Desire2Learn, and may incorporate other online materials (e.g. publisher content and open educational resources). As an online student, you are responsible for ensuring that you have a reliable internet connection and the necessary equipment to access your online course(s) and any required course materials listed in the course syllabus. Computer failure or problems with internet access are not considered valid excuses for not completing coursework, so be sure to have a backup plan in place so that you can still complete your work on time even if you run into technical problems. Local libraries and computer labs on campuses can be great alternatives, but be sure to check on hours and availability.

For technical assistance with Desire2Learn, contact the Help Desk which is available 24 hours every day: (http://help.cccs.edu); 888-800-9198 (toll free). Desire2Learn is available 24×7, with the exception of limited maintenance windows posted on the home page. In the unlikely event of an unplanned D2L outage, faculty and staff will be informed so that they can make reasonable adjustments to the course schedule and assignment deadlines.

Student Rights, Responsibilities, and Resources

For important information on rights and responsibilities of all FRCC students, as well as the many support resources available to you, please refer to the link to “Student Rights, Responsibilities and Resources” in the online course shell. Topics include:

  • Course Questions
  • Access to Course Materials
  • Student Email
  • Student Drop for Non-Attendance
  • Student Drop for Non-Payment
  • Financial Aid
  • Academic Assistance
  • Disability Support Services
  • Use of Audio / Video Recordings
  • Crisis Counseling and Stress Management
  • FRCC Cares
  • Notice of Non-Discrimination
  • Mandatory Reporting (Title IX)
  • Student Code of Conduct
  • Philosophy of Inclusion

Course Schedule

Important Dates

First Day of Class: 7 August (Tuesday)
Non-Attendance Reporting Deadline: 27 August (Thursday)
Payment Deadline: 
N/A unless failed course – 10 December( Tuesday)
Labor Day: 
7 September – no school
Last Day to Drop with Refund: 
8 September (Tuesday)
School Closed: 
15-16 October (Thursday/Friday) – no school
Student Feedback Forms Distributed: 
2-6 December
Graduation Application Deadline: 
N/A
Last Day to Withdraw with “W”: 21 November (Saturday)- Course payment required
Thanksgiving Break: 25-29 November – 
Enjoy Fall Break!
Student Feedback Forms Returned: 
6 December (Thursday)
Last Day of Class: 
15 December (Tuesday)

Course Plan

The following table includes the coursework planned for this class.

WeekTopic
Week 1Orientation, introduction of teachers and students, class overview
Chapter 14 JavaFX Basics
Week 2Introduction to JavaFX, building blocks, properties Q&A over JavaFX
Assignment – Based on 14.2 tic-tac-toe board, will use for  next assignment. Quiz 1 -JavaFX Basics
Chapter 15 Event-Driven Programming and Animation
Week 3Introduction to Event-Driven Programming and interactive programs
Assignment: Add user input to tic-tac-toe program from last chapter.
Q&A over Event-Driven Programming
Quiz 2 – Event-Driven and Interactive Programming
Chapter 16 JavaFX UI Controls and Multimedia
Week 4Introduction to Labels, Text Fields, Buttons, Check Box, Radio Buttons, Scroll Bar, etc.
Program – Implement exercise 16.13 on loan analysis. To complete, you may have to program exercise 5.21 (p 197)
Q&A over Controls and Multimedia
Quiz 3 – Design a simple JavaFX program using Controls
Chapter 17 Binary I/O
Week 5Labor Day – School Closed
Review Text I/O and learn Binary I/O, copying Files, accessing specific locations in files Program – Take your loan analysis program from Week 4 and store all loan analysis information in one file, be able to display any of the loan analysis in the file and modify the loan information then restore the new information to the file. Q&A over anything learned so far
Quiz 4 – The purpose and use of File I/O
Chapter 18 Recursion
Week 6Problem Solving using Recursion
Program –18,21 Write a recursive program to write a decimal number as a binary number in a string (or character array) Q&A on Chapter 18
Quiz 5 – Write an algorithm, given a recursive problem.
Chapter 19 Generics
Week 7Motivations and Benefits, Generic Classes and Interfaces, Generic Methods, Raw Types and Backward compatibility, Wildcard Generic Types Program – Comparing Array vs ArrayList, implement 19.2 on page 772: Q&A on Chapter 19
Quiz 6 – Questions on Chapter 19
Chapter 20 Lists, Stacks, Queues, and Priority Queues &
Chapter 24 Implementing Lists, Stacks, Queues, and Priority Queues
Week 8Collections, Iterators, using forEach, Lists, Comparator Interface, Static Methods for Lists and Collections, Vector and Stack Classes, Common Operations for Lists, Array and Linked Lists, Stacks and Queues
Program 1 – Solve 20.5 on page 809, bouncing balls Program 2 – Linked Lists Problem 24.2 page 949 Q&A on Chapters 20 & 24
Quiz 7 – Questions on Chapters 20 & 24
Chapter 21 Sets and Maps
Week 9Introduction, Compare Sets and Lists, Maps, Collections Program – Counting words in a text file (file will be supplied), do 21.8 on page 837.
Q&A on Chapter 21
Quiz 8 – Questions on Chapter 21
Chapter 22 Developing Efficient Algorithms
Week 10Measure Algorithm Efficiency, Time Complexity, Fibonacci Numbers, Euclid’s Algorithm, Prime Numbers, Divide-and-Conquer, Eight Queens Problem, Convex Hull
Program – Greatest common denominator of Fibonacci numbers. Do Exercise 22.6 on page 872.
Q&A on Chapter 22
Quiz 9 – Questions on Chapter 22
Chapter 25 Binary Search Trees and 26 AVL Trees
Week 11Binary Search Tree, Adding and Deleting Elements, Iterators, AVL Trees, Rebalancing, overriding insert Method, Rotations, Adding/Deleting, Time Complexity Analysis
Program – Do some research and implement 25.8 (bidirectional iterator) page 984.
Q&A on Chapter 25
Quiz 10 – Questions on Chapter 25
Chapter 27 Hashing
Week 12What is Hashing, Functions and Code, Handling Collisions, Load Factors, implement
Program – Do Exercise 27.10 on page 1036 to compare Array Lists and a Hash Set.
Q&A on Chapter 25
Quiz 11 – Questions on Chapter 25
Chapter 28 Graphs and Applications & 29 Weighted Graphs
Week 13Graph Terminology, Visualization, Traversals, Types of Searches, Representing Weighted Graphs, Class, Minimum Spanning Trees, Finding Shortest Path
Program – Do Exercise 28.10 on page 1080. Q&A on Chapters 28 & 29
Midterm – On all you have learned so far
Introduction to Android Studio and Created
Week 14Read information on using Android Studio and Share with class Program – TBD Q&A on Android Studio
Quiz 6 – TBD
Creating Android Application
Week 15This will be developed over the Semester Program – TBD
Q&A on Android Application
Quiz – Submit one file on GitHub for your project including project overview, team members, and proposed daily schedule
Final Project
Week 16Daily Submittals – Each day submit a file that describes, by person, what you accomplished the previous day and what do you plan to accomplish that day. Also include obstacles and insights.
Work on project and use GitHub to share accomplishments with other project members.
Create PowerPoint Presentation about your project which will be presented after Thanksgiving
Thanksgiving Break
Week 17Thanksgiving Break
Final Project Presentations
Week 18Project PowerPoint Presentation
Finalize Project
Week 19Present Working Project