Period 2 – CSC160 Introduction to Computer Programming – Java – Spring 2020

Period 2 – CSC160 Introduction to Computer Programming – Java – Spring 2020

Basic Course Information

Course Name: Introduction to Computer Science I (Java)
Course Sections: CSC160-55278-78A
Semester: Spring 2020
Credits: 4
Prerequisites/Co-requisites: recommended either CSC 119 Introduction to Programming and MAT 055 Algebraic Literacy or MAT 201 Calculus I
Meetings/Times: Monday-Friday 8:50 AM – 9:45 AM
Location: 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
High School Web Site: https://fortcollins.coloradoearlycolleges.org
Office Location: CEC-FC HS 228
Office Hours: Tuesday or Thursday (4th/7th periods), by appointment 6th period
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, a USB Flash drive, emailing it to yourself, your hard drive (at home), student storage or submitting to D2L.  You may also use GitHub for project control and storage. 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 CSC160. With the extra day per week, this class includes some of the programming and good programming practices that are usually developed in CSC119. We use JetBrain IntelliJ Idea for code development. An alternate is Eclipse for Java, it depends on what your comfort level is with each editor and compiler interface. If something is not clear, please ask questions.

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

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.
  1. Infinite Campus: This is used for tracking your grades.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.

Activities Contribution to Overall Grade
Quizzes 10%
Assignments 40%
Midterm Exams 30%
Final Exam 20%

Grading Scales and Standards

The grading scale for this class is:.

Letter Grade Range
A 90 – 100%
B 80 – 89%
C 70 – 79%
F 69% 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. 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.”

All students will come to class on time. If you are late, within the first 10 minutes of class, you will be marked tardy. If you are more than 10 minutes late, you will be marked as absent. However, I will put a time down with the absence so that the attendance team will be aware of when you arrived. As long as you come in quietly, coming to class will allow you to make up in-class projects, but not excuse the tardy or absence.

Students are permitted 5 unexcused absences per course, per semester penalty free, if all these absences are not “skipped” classes. More than 5 unexcused absences will result in a course grade reduction of 5%. Each additional unexcused absence will incur an additional 1% grade decrease.

Students are permitted 2 tardies per course, per semester penalty free. Upon incurring a 3rd tardy, the late instances will turn into an unexcused absence. Every 3 tardies afterward will count as an unexcused absence at the end of the semester and calculate into the grade deduction mentioned above.

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.

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 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.

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: 6 January (Monday)

Martin Luther King Birthday (no school) 20 January (Monday)
Non-Attendance Reporting Deadline: 24 January (Friday)
Payment Deadline: N/A
Last Day to Drop with Refund: 5 February (Wednesday)

President’s Day (no school) 17 February (Monday)
Graduation Application Deadline: N/A
Spring Break: 16-20 MarchEnjoy the week!

Student Feedback Forms Distributed: 20-24 April
Last Day to Withdraw with “W”: 36 April (Sunday)
Student Feedback Forms Returned: 3 May (Sunday)
Last Day of Class:
12 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

Week Topic To Do
Week 1 Chapter 1: Introduction to Computers, Programs, and Java (1) Review IntelliJ Idea and turn in first program
Week 2 Chapter 2 Elementary Programming (33) Program/Discussion/Quiz
Week 3 Chapter 3: Selections (75) Program and Quiz
Week 4 Chapter 4 Mathematical Functions, Characters, and Strings (119) Program/Discussion/Quiz
Week 5 Chapter 5: Loops Program and Quiz
Week 6 Chapter 6: Methods (205) Program/Discussion/Quiz
Week 7 Chapter 7: Single Dimensional Arrays (247) Program and Quiz
Week 8 Chapter 8: Multidimensional Arrays (289) Program/Discussion/Quiz
Week 9 Midterm Project on what you have learned Project only
Week 10 Chapter 9: Objects and Classes (323) Program and Quiz
Week 11 Chapter 10: Object-Oriented thinking (367) Program/Discussion/Quiz
Week 12 Chapter 11: Inheritance and Polymorphism Program and Quiz
Week 13 Chapter 12: Exception Handling & Text I/O (453) Program and Quiz
Week 14 Chapter 13: Abstract Classes & Interfaces (400) Program/Discussion/Quiz
Week 15 Research projects Decide on Teams for Final Project Summary of projects researched
Week 16, Session 1 Decide o Project Topic Project Proposal/Team
Week 16, Session 2 Work on Final Project Proposal
Include list of team members
Project Proposal/Team
Week 16, Session 3 Start work on Final Project Proposal
Include list of team members
Project Proposal/Team
Week 16, Session 4 Q&A about Project Project
Week 16, Session 5 Work on Final Project Proposal
Break up project and code sections
Project Proposal/Team
Week 17, Session 1 Turn in detailed plan Project
Week 17, Session 2 Work on Final Project Project
Week 17, Session 3 Final Exam Project
Week 17, Session 4 Work on Code Project
Week 17, Session 5 Project PowerPoint Presentation Project
Week 18, Session 1 Finalize Project Finalize project & demonstrate Project
Week 19, Session 2 Finalize project & demonstrate Project