S23 P6 – CSC1060 Introduction to Computer Programming – Java

Table of Contents

  1. Course Information
  2. Success Criteria
  3. CCCS Required Syllabus Information
  4. Front Range Community College Specific Information
  5. Grading information
  6. Course Plan

Basic Course Information

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
High School Web Site: https://fortcollins.coloradoearlycolleges.org
Meeting Times: Monday-Friday 8:50 AM – 9:45 AM
Office Location: CEC-FC HS 228
Office Hours: Monday through Thursday (6th/7th periods) by appointment
Department Contact: N/A

Course Materials

Introduction to Java Programming by Y. Daniel Liang
ISBN: 100133761312

Windows 10

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

You need at least two ways to store your files, student storage (OneDrive), GitHub, D2L, e-mailing it to yourself, your hard drive (at home), or a USB Flash drive. 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 D2L.

Welcome Message

Welcome to CSC1060. With the extra day per week, this class includes some of the programming and good programming practices that are usually developed in CSC1019. We use JetBrain IntelliJ Idea for code development. An alternate is Eclipse or Visual Studio for Java, it depends on what your comfort level is with each editor and compiler interface. If something is not clear, please ask questions.

Success Criteria

By the end of the Semester, the student will be able to decide on the appropriate level of a Java project to design and develop using the Scrum Methodology for tracking and GitHub connected to IntelliJ Idea for storing the project and sharing with any partners.

CCCS Required Syllabus Information

Catalog Course Description

Introduces students to the discipline of computer science and programming. Algorithm development, data representation, logical expressions, sub-programs and input/output operations using a high-level programming language are covered. Intensive lab work outside of class time is required.. (4 credit class, 60 contact hours).

Course Learning Outcomes

This course teaches all of the following learning outcomes, ensuring transferability of this course between all institutions within the Colorado Community College System.

  1. Demonstrate an understanding of the program development process and algorithm development.
  2. Implement programs utilizing analysis and design, testing, coding standards and documentation.
  3. Write programs with correct syntax.
  4. Write programs with input/output using a variety of data types.
  5. Demonstrate the use of different data types.
  6. Show how operators work with different data types.
  7. Identify how data is represented in the system.
  8. Use logical expressions in a program.
  9. Show how scope/lifetime rules affect code.
  10. Write programs with multiple decisions and loops.
  11. Explain program flow.
  12. Use both system-defined and programmer-defined functions/methods with value and reference parameters in a program.
  13. Group different data types together in a structure, class or equivalent.
  14. Use pointers/references in a program.
  15. Write a program with arrays.
  16. Demonstrate understanding and use of recursion in a program.

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 or Eclipse for Java.

Topical Outline

  1. Introduction to Computers, Programs, and Java
  2. Elementary Programming
  3. Selections
  4. Mathematical Functions, Characters, and Strings
  5. Loops
  6. Methods
  7. Single Dimensional Arrays
  8. Multidimensional Arrays
  9. Objects and Classes
  10. Object-Oriented Thinking
  11. Inheritance and Polymorphism
  12. Exception Handling and Text I/O
  13. Abstract Classes and Interfaces
  14. JavaFX Basics
  15. Event-Driven Programming and Animations
  16. JavaFX UI Controls and Multimedia

Front Range Community Colleges Information

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 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: This is used for tracking your grades.
  4. D2L: This is the FRCC assignment tracker. I use D2L as a supplement for all of my programming classes. On it you will find all of the assignments, online quizzes, announcements and discussions. It is where you will turn in all of your assignments and comments on submittals will be made here. IC will be used strictly for tracking your grades.
  5. 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.
  6. D2L Quizzes: The D2L 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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
Midterm Exams30%
Final Exam20%
Category Weights

Grading Scales and Standards

The grading scale for this class is:.

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

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/CECFC employees; and problem-solving skills.

Late Policy

Assignments will be expected on-time. Since SAM grades all projects, the main penalty for being late with any project is that you will fall behind and not be able to complete all your projects. Remember that only people who have earned an 85% or higher can take the certification exam.

Attendance and Participation

As per the CECFC Handbook: “All CECFC students are expected to attend school daily and to arrive punctually. Frequent absences undermine the sequential and incremental nature of the CECFC curriculum for the student; in addition, they place burdens on the teachers who must arrange for makeup work.  Late arrivals disrupt the classroom.”

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.


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.

Classroom Conduct 

CECFC’s “SOAR” expectations of student conduct:

  • (S)elf:  Developing awareness of self: strengths and limitations, identifying/understanding emotions, and managing emotions, stress, and anxiety, to become a strong and confident individual.
  • (O)thers: Developing social awareness of others’ perspectives and emotions, while also appreciating diverse backgrounds and cultures to become empathetic towards others.
  • (A)lign:  Developing the skills to build positive relationships through communicating, negotiating conflict, and supporting others (while also reducing bullying).
  • (R)esponsibility:  Developing the skills to make decisions for positive impacts on self and others, while also considering the role of ethics and professionalism in the real world.

CECFC’s expectations of academic student conduct:

  • Management: Time, Organization, and Planning
    Developing effective processes to prioritize time and create organizational systems that transfer to multiple settings.
  • Motivation: Task Initiation and Attention
    Developing motivation to initiate tasks and pay attention with a “big picture” purpose; focusing on the details and putting forth one’s best effort
  • Monitor: Metacognition, Self-Reflection, and Adjustment
    Developing the independent process of monitoring one’s own learning (metacognition), self-reflecting on that progress, and making necessary adjustments for increased success.
  • Mindset: Perseverance, Grit, and Flexibility
    Developing grit in all pursuits, especially exercising flexibility, perseverance, and creative problem solving when challenges arise; internalizing that success comes only as a result of this mindset

Wayne Cook’s Classroom Conduct

We follow all CEC-FC 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.


  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.

Course Schedule

Important Dates

  • First Day of Class: 4 January (Wednesday)
  • Martin Luther King Birthday (no school) 16 January (Monday)
  • Non-Attendance Reporting Deadline: 20 January (Friday)
  • Payment Deadline: N/A
  • Last Day to Drop with Refund: 1 February (Wednesday)
  • President’s Day (no school) 20 February (Monday)
  • Graduation Application Deadline: N/A
  • Spring Break: 13-17 March – Enjoy the week!
  • Student Feedback Forms Available: TBD
  • Last Day to Withdraw with “W”: 16 April (Saturday)
  • Student Feedback Forms Returned: Not Scheduled
  • Last Day of Class: 9 May (Tuesday)

Course Plan

The following table includes the coursework planned for this class.

  1. Introduction to Java and IntelliJ Idea development environment.
  2. Elementary Programming
  3. Selections
  4. Mathematical Functions, Characters, and Strings
  5. Loops
  6. Methods
  7. Single Dimensional Arrays
  8. Multidimensional Arrays
  9. Objects and Classes
  10. Object-Oriented Thinking
  11. Inheritance and Polymorphism
  12. Exception Handling and Text I/O
  13. Abstract Classes and Interfaces

Weekly Schedule

In order to better cover each week’s subject, the week will be divided, as closely as possible, as follows:

  • Monday Introduction of Topic, usually a new Chapter or subchapter through slides and/or lecture. Goal: The student will be able to give a two-sentence summary of the topic being presented and covered today.
  • Tuesday Continuation of presentation with ample opportunity for Questions and Answers. with most answers coming from the students. Presentation of the problem to solve and lab time to start discussing possible solutions. Goal: The class discuss and develop possible solutions to the problem. Tentatively select a solution to the problem and create a project with a name related to the that project’s solution.
  • Wednesday Create the main() method and a stub, if needed, for any of the methods to be called. In the later projects also create any needed additional classes and stubs for proposed methods. Goal: Be able to describe the code through comments in the code modules and have code that compiles and does something reasonable. Not necessarily the final project. Help: If any student gets stuck, the class and I will help them. Offer to help them on the front desk top computer to show possible solutions to all the students. This works really well for all concerned.
  • Thursday Finishing implementing the solution. Develop a testing strategy for the project and implement. Submit the project. Goal: Have a working and tested project to submit.
  • Friday Any last-minute clean-up of the project, if not already submitted. Discussion, quiz, or presentation over the project and material learned for the week.
1Goal 1: Understand Basic uses of Computers and the Software that makes them useful.
Goal 2: Explain the elements of flowcharts and how they are used. Be able to write a flowchart for temperature conversion between Fahrenheit and Celsius.
Goal 3: Explain the elements of pseudocode and what makes them useful. Be able to write pseudocode based on your flowchart.
Task: Download Java SDK 19 onto your own computer, along with JetBrains IntelliJ Idea for Java Code Development (Community edition)
2Goal 1: Understand Basic Elements of programs.
Goal 2: Understand basic blocks of a Java program and be able to start JetBrains IntelliJ Idea.
Read: Chapter 2: Elementary Programming (33)
Task: Program “Hello World” then modify it to ask the user for their name then print Hello World and hello to <name>
Task: Write Rectangle program – ask user for length/width of rectangle, calculate and print perimeter & area.
Discuss: Chapter 2.
3Goal 1: Understand code execution selection (if & case statements) and be able to use them effectively.
Read: Chapter 3: Selections (75)
Task: Write Celsius<->Fahrenheit converter based on your previous flowchart
Discuss: Saturn V
4Goal 1: Understand and use mathematical functions in Java.
Goal 2: Describe relationship of characters and Strings in Java.
Read: Chapter 4 Mathematical Functions, Characters, and Strings (119)
Task: Write Rainfall Program: Ask the user for the rainfall of each of twelve months, print total rainfall and monthly average.
Quiz: Chapter 4
5Goal 1: Understand for, while, & do-while loops. know the parts of each. Be able to complete multiple projects using all three types of loops.
Goal 2: Set up Random number class and use it to generate random numbers.
Read: Chapter 5 Loops (160)
Task 1: Take your Celsius<->Fahrenheit program and add a loop to allow multiple conversions, one at a time.
Task 2: Create Number Guessing Game for user to guess a number between 1 and 100. Loop until user guesses the number. Allow user to request another play. If they so request, loop bank to the beginning.
Task 3: Create a Rock/Paper/Scissor game with multiple plays.
Quiz: Chapter 5
6Goal 1: Know the parts of a method definition and how to call it.
Goal 2: Define a method to be called from main() and call it.
Read: Chapter 6: Methods (205)
Task 1: Design and create a method to print a specified number of ‘*’ on a single line and an optional CR at the end of the line.
Task 2: Design & create a method to print a specific number of “* ” on a single line and an optional “*\n” at the end of the line.
Task 3: From the main() method, call these methods in a way that would create a basic Mancala Board.
Discussion: What are the main parts of a method? How do you determine if a return value is needed? How do you indicate that no return value is needed? Why do programmers create methods? On D2L.
7Goal 1: Know the parts of an array and how to create and use it.
Goal 2: Know how to initialize and modify a single dimensional array.
Read: Chapter 7 Single Dimensional Arrays (247)
Task 1: Take the Mancala Board you create last week, finish creating the board. Change the class name to Board and change the class name to Board.
Task 2: Change the main() method to printBoard().
Task 3: Create a moveStones(int player, int pit) method that would take the stones from pit “pit” and dropped them in the next pits one at a time until the stones run out.
Task 4: Write a new main() method in a new file. Create an instance of Board. In the program create a loop in which the Board is printed and alternately call users asking them to choose a pit from which to move stones. Call moveStones with the proper parameters.
Quiz: Chapter 7.
8Goal 1: Know the parts of a two-dimensional array and how to create and use it.
Goal 2: Know the difference and similarities between an one-dimensional array and a two-dimensional array.
Read: Chapter 8 Multidimensional Arrays (289)
Task1: Problem 7.35 (285) Using a large enough single dimensional array hold the words in your dictionary to have a user play hangman.
Task 2: Create a two-dimensional array to hold the hangman.
Task 3: Modify a second one-dimensional array to track the incorrect letter guesses.
Task 4: Create a dictionary array to hold at least 20 words to be chosen randomly for the play of hangman.
Task 5: As the user makes correct guesses, modify the displayed array that will contain the answer.
Task 6: As the user makes incorrect guesses, modify the second one-dimensional array to indicate the wrong guessed letter and modify the two-dimensional array to show the appropriate body part.
9Goal 1: Know how to define a Java Class and how to use it.
Goal 2: Describe how Java objects and classes model (real world) objects.
Goal 3: Create an instance of a class using a constructor.
Goal 4: Create accessors for users to access (both set and retrieve) private data of an instance of a class.
Goal 5: Distinguish between object (class) variables and primitive-data-type variables.
Goal 6: Distinguish between instances and static variables and methods.
Read: Chapter 9: Objects and Classes (323)
Task: Complete the hangman code already started and create a new class that initializes and displays the hangman status for each turn.
10Goal 1: Explain the difference between the procedural paradigm (which we have been using so far) and the object-oriented paradigm.
Goal 2: Describe the relationships between Java classes you are developing.
Goal 3: Design and develop programs using the object-oriented paradigm.
Goal 4: Efficiently use Java predefined classes in developing new programs.
Read: Chapter 10: Object-Oriented thinking (367)
Task: Assignment 10.1 on page 401.
11Spring Break
12Goal 1: Give a general description of a class and how to define and implement a parent (super) class and a child (sub) class.
Goal 2: define a subclass from a superclass through inheritance.
Goal 3: Invoke the superclass’s constructors and methods using the super keyword​.
Goal 4: Describe the overloading and overriding methods and be able to implement either.
Goal 5: Discuss and implement polymorphism and dynamic binding.
Read: Chapter 11: Inheritance and Polymorphism (411)
Task 1: Implement a polymorphism relationship through creating a GeometricObject (or Shape) superclass and create Rectangle, Circle, Square, Triangle, and Rhombus subclasses, all inheriting from Shape. Implement a Shape array filled with the various subclass chapes you created. Call getArea() and getPerimeter() for each subclass created.
13Read: Chapter 12: Exception Handling & Text I/O (453)
14Read: Chapter 13: Abstract Classes & Interfaces (501)
15Goal 1: Based on what you have learned in this class, choose a project to develop by the end of the semester.
Goal 2: Use GitHub to save and retrieve a project from IntelliJ Idea.
Goal 3: Use the Scrum Methodology to plan the implementation of your project.
Task 1: With the help of a partner, choose a project to complete by the end of the week.
Task 2: Create a GitHub account and download git and GitHub.
Task 3: Initialize initial Scrum report with your project’s name and members of your team, along with the first four tasks you need to complete
Task 4: Strive to complete the tasks that were listed in the initial Scrum report, mark the status of each task and add to the “do” list any incomplete items.
Task 5: Complete all tasks needed to complete the project.
Present: Present project on Friday (for the midterm no slide presentation is required).
WeekTopicTo Do
Week 15Research projects Decide on Teams for Final ProjectSummary of projects researched
Week 16, Session 1Decide o Project TopicProject Proposal/Team
Week 16, Session 2Work on Final Project Proposal
Include list of team members
Project Proposal/Team
Week 16, Session 3Start work on Final Project Proposal
Include list of team members
Project Proposal/Team
Week 16, Session 4Q&A about ProjectProject
Week 16, Session 5Work on Final Project Proposal
Break up project and code sections
Project Proposal/Team
Week 17, Session 1Turn in detailed planProject
Week 17, Session 2Work on Final ProjectProject
Week 17, Session 3Final ExamProject
Week 17, Session 4Work on CodeProject
Week 17, Session 5Project PowerPoint PresentationProject
Week 18, Session 1Finalize Project Finalize project & demonstrateProject
Week 19, Session 2Finalize project & demonstrateProject
Weekly Schedule