COP2250 Section 2143

Java Programming I Syllabus

January 9, 2017 – March 2, 2017

Instructor Information

Name:Dawn Ellis

Email:

Phone:727-614-7025

Office Hours:Tuesday/Thursday 10:00 a.m. – 12:30 p.m. and 2:00 p.m. – 4:00 p.m.

Office Location:ES213B, Clearwater Campus

Instructor Web Page:

Students should anticipate a response to email within two school days. Grading is normally complete within five school days.

Academic Department Information

DEAN / ACADEMIC CHAIR
Name: Dr. Sharon Setterlind / Name: Dawn Ellis
Email: / Email:
Phone: (727) 341-4724 / Phone: 727-614-7025
Office Location: TE116C, St. Pete/Gibbs Campus / Office Location: ES213B, Clearwater

Web address:

Course Information

Course Description

Prerequisite:COP 1000. Thisis a beginning programming course in theJava language.Thestudentwill learn to solve programming problems by designing,coding, executing, and debugging Java programs.Major topicscovered include: data types and expressions, selections, loops, methods, arrays, classes andobject-orientedprogramming,exceptionhandling, abstract classes, interfaces,text I/O,and an introductiontoJavaFX.

Course Topics:

  • Elementary programming
  • Selections
  • Loops
  • Methods
  • Arrays and ArrayLists
  • Objects and classes
  • Inheritance
  • Exceptions

Major Learning Outcomes

  1. The student will code Java programs that solve computer programming problems of various difficulty levels.
  2. The student will code Java programs to read keyboard input, perform calculations, and generate output.
  3. The student will code Java programs that employ simple and nested decision structures.
  4. The student will code simple and nested loops, possibly using accumulators and counters.
  5. The student will design and code methods, including methods needing arguments or returning a value.
  6. The student will code Java programs using simple arrays and multi-dimensional arrays.
  7. The student will code custom Java classes and create objects to model data for programming problems.
  8. The student will write Java programs that demonstrate inheritance.

Learning Outcomesand Objectives:

  1. The student will code Java programs that solve computer programming problems of various difficulty levels by:
  2. Analyzing programming problems and developing solutions as a sequence of ordered steps.
  3. Expressing the sequence of ordered steps in Java coding statements.
  4. Choosing appropriate data types and identifiers for Java variables.
  1. The student will code Java programs to read keyboard input, perform calculations, and generate output by:
  2. Coding Java programs that use the Scanner class to read keyboard input into variables.
  3. Coding Java programs that use arithmetic operators and evaluate mathematical expressions.
  4. Coding Java programs that use constants.
  5. Coding Java programs that work with methods of class String.
  6. Coding Java programs that format numeric output to specified decimal places.
  7. The student will code Java programs that employ simple and nested decision structures by:
  8. Coding Java solutions to programming problems that require if-else and if-else if-else selections.
  9. Coding Java solutions to programming problems using a switch.
  10. Writing Java code that generates random integers within a specified range.
  11. Coding Java programs using conditional expressions.
  1. The student will code simple and nested loops, possibly using accumulators and counters by:
  2. Writing Java programs that use simple and nested while loops and do while loops.
  3. Writing Java programs that use simple and nested for loops and for each loops.
  4. Controlling loop iterations with the break and continue keywords.
  5. Coding Java programs that employ counters and accumulators.
  1. The student will design and code methods, including methods needing arguments or returning a value by:
  2. Writing and calling custom void methods and custom methods that return a value.
  3. Writing and calling custom methods that require one or more arguments.
  4. Coding Java programs that demonstrate knowledge of variable scope.
  5. Coding Java programs that feature method overloading.
  1. The student will code Java programs using simple arrays and multi-dimensional arrays by:
  2. Writing programs that create simple and multi-dimensional arrays of primitive types and strings.
  3. Writing and calling methods that take arrays as arguments and methods that return an array.
  4. Coding programs that process arrays with loops and programs that copy, search, and sort arrays.
  1. The student will code custom Java classes and create objects to model data for programming problems by:
  2. Defining classes with instance variables, constructor methods, and instance methods.
  3. Defining classes with static variables, static methods, and constants.
  4. Writing Java programs that create objects and arrays of objects.
  5. Coding Java programs that instantiate custom classes and demonstrate encapsulation.
  6. Coding programs that pass objects to methods and return objects from methods.
  1. The student will write Java programs that demonstrate inheritance by:
  2. Coding super classes and subclasses and writing Java programs that work with instances of same.
  3. Overriding super class methods in subclasses.
  4. Coding Java programs that demonstrate polymorphism and dynamic binding.
  5. Writing programs that override methods of the Object class and the instanceof operator.
  6. Coding programs that create and process instances of the ArrayList class.

Career Ready Preparedness Program

The College of Computer and Information Technology (CCIT) has implemented a Career Ready Preparedness Program (CCRP) where students will set up their electronic portfolio in MyCourses and participate in online career workshops. Students who are required to take an internship must participate in the video webinars and take a quiz for each career workshop. Upon receiving a grade of 70% or better on each quiz, a certificate is issued for the student to post in their ePortfolio. Directions to set up the eportfolio and the webinars are found in the table of contents of the course.

REQUIRED TEXTBOOK:
ISBN FORMATTITLEIMAGE

978-0-13-376131-3 / Print book / Introduction to Java Programming
Comprehensive Version
  • Edition: 10th
  • Author: Y. Daniel Liang
  • Publisher: Pearson
/

The textbook is needed immediately. Wise students get it and start reading it before the course starts. Be sure to read the chapters and try all of the zipped examples before tackling the Java programming assignments.

IMPORTANT DATES:

Course Dates: January 9 to March 2, 2017

Drop/Add: Friday, January 13, 2017

Last day to withdraw with a “W” grade: February 9, 2017

Course Closes at 6:00pm on Thursday, March 2

Other Dates:

COURSE OPERATIONS

This is an intensive, introductory course in Java programming. Java may seem challenging at first, but you will get over that with practice. If you have questions or problems, use the Course Forum. Be specific when describing the issue. You can even paste in some code (just a few lines) that isn’t working for you. Your professor will respond to Course Forum postings with tips and suggestions. You can do the same to help your classmates. Don’t fall behind. Get help right away to keep pace.
NOTE: At the 60% point in the course, students who are badly behind (2 assignments) might be dropped.

Online Sections
In online sections, students will meet the course objectives by reading the course text book and supplemental resources, trying example programs, watching instructional screen-capture videos, and completing weekly Java coding assignments by specified due dates. Due dates can be seen in the schedule later in this document, and in the MyCourses Calendar. Students are advised to set aside at least six weekly hours for these tasks.

Blended Sections

In blended sections, students meet the course objectives by attending computer lab sessions on campus and by study at home. Your professor will manage learning activities during the computer lab sessions and provide instructions for home study duties. Home studies will include reading the course text book and supplemental resources, trying example programs, watching instructional screen-capture videos, and completing weekly Java coding assignments by specified due dates. Due dates can be seen in the schedule later in this document, and in the MyCourses Calendar. Students are advised to set aside at least three weekly hours for these tasks.

Traditional (face-to-face) Sections

In traditional, on-campus sections, students meet the course objectives by attending computer lab sessions, but also by study at home. Your professor will deliver lessons and manage learning activities during the computer lab sessions. Home studies will include reading the course text book and supplemental resources, trying example programs, watching instructional screen-capture videos, and completing weekly Java coding assignments by specified due dates. As in all traditional courses, home study is important for achieving the course objectives. Due dates can be seen in the schedule later in this document, and in the MyCourses Calendar.

OUR LEARNING MANAGEMENT SYSTEM

SPC uses the MyCourses Learning Management System. Use your student ID number and password to login and access the resources for COP 2250. This course presents a sequence of modules that students work through in order. Each module is based on the content in one or more text book chapters. Every module contains sub-tasks to be worked through in order, culminating in a Java coding assignment.

A typical module has the following subtasks:

  • A list of the module objectives.
  • A document that summarizes skills and knowledge needed to meet the objectives.
  • A zipped file that contains the text book sample programs.
  • A second zipped file with additional sample programs.
  • One or more screen-capture video lessons.
  • A document that details the requirements for an assignment.
  • A drop box for submitting the assignment.

Students are encouraged to explore additional learning activities, too. For example, when studying example programs in the text book and zipped examples, ideas for similar programs will often come to mind. Students are strongly urged to pursue these ideas and write their own original programs, and to share them with the class. There is no better way to learn. To become a proficient programmer, you have to write computer programs. Lots of them!

ATTENDANCE:

Regular attendance is expected and will be taken at the start of every class in face-to-face and blended sections. In online sections, attendance will be based on progress as determined by the instructor. Attendance is crucial to keeping pace and eventual success. Students who are far behind (2 assignments) at the 60% point risk being dropped.

GRADING:

This is a 278-point course, points being awarded according to the table below.

Category / Details / Points
Java Programming Assignments * / 9 Java coding assignments @ 10 points / 135 points
1Z0-811 Cert Prep Quizzes / 9 quizzes @ various point values / 113 points
Final Exam / 30 questions, multiple choice and multiple select, with questions from all chapters in the course. / 30 points
Total / 278 points

* A second submissionmight be allowed to earn more points, but it must be submitted promptly. See below.
Assignment Due Dates
Assignments are due on Sundays but late work may be accepted under certain circumstances. Please contact me in regards to late submissions.

Grade Point Thresholds

Grade A / 250 – 278 points
Grade B / 222 – 249 points
Grade C / 195 – 221 points
Grade D / 167– 194 points
Grade F / 0 – 166 points

Note: A minimum grade of C is required for the A.S. Degree.

ACADEMIC HONESTY:

All students are expected to abide by the SPC Honor Code, viewable at

CODE OF CONDUCT:

  • I will not share solutions to assignments unless invited to do so as part of the assessment.
  • I will not take part in any activity that dishonestly enhances my own results, or dishonestly affects the results of other learners.
  • I will use proper spelling, punctuation, and grammar in all course communications.
  • I may engage in robust debate where appropriate to the learning experience but I will not deliberately personally attack or offend others.
  • I will not use racist, sexist, homophobic, sexually explicit or abusive terms or images, or swear words or language that might be deemed offensive.
  • I will not participate in, condone or encourage unlawful activity, including any breach of copyright, defamation, or contempt of court.

COLLABORATION RULE:

Some assignments might require students to collaborate with classmates to develop a program, but as a general rule, submitted programs must be entirely the work of the submitting student. Please do not refer to course materials from previous terms.

In comments in the drop box for each programming assignment, list:

  • All collaborators, including SPC tutors.
  • All written sources that you consulted, other than the text and course handouts from this term.
  • If you had no collaborators and consulted no written sources, then write, "I worked alone."

Homework without a collaboration statement will not be graded. If you somehow violate the collaboration policy, your best option is to tell us before we notice. Mistakes you confess are forgivable.

ORACLE JAVA CERTIFICATION

If you achieve a B grade or better in this course, SPC will pay the $95 fee so you can try for the Oracle Java Foundations Certification, Exam 1Z0-811. Learn more in the Get Java Certified module in the Table of Contents. The 1ZO-811 Quizzes are intended to help you to prepare for this certification exam.

GETTING HELP WITH JAVA – STEPS TO TAKE

  1. There is a Course Forum where you can ask questions about Java (or anything else about this course). Your professor, or a classmate, will respond to help you.
  2. You can email your instructor with a Java question.
  3. You can seek out a tutor at a Learning Support Center. Look here:
  4. Your professor may also be available during office hours. Refer to your professor’s instructor page. Make an appointment and indicate the topic or part of the course for which you seek help.

Above all, take action immediately to avoid falling behind! Do not procrastinate!

GETTING TECHNICAL ASSISTANCE

Call727-341-HELP(727-341-4357)

Attendants are available at the number above from 7:00am to 12:00am (Midnight), 7 days a week, to assist you with technical issues related to MySPC, MyCourses, Student Email, and other technology related problems. You can also find help at

SYLLABUS ACCEPTANCE POSTING:

Students must make a posting to inform the instructor that they have read, understand, and will abide by the rules of the syllabus and all college policies.

STUDENT SURVEY OF INSTRUCTION (SSI):

The student survey of instruction is administered in courses each semester and is designed to improve the quality of instruction at St. Petersburg College. All student responses are confidential and anonymous and will be used solely for the purpose of performance improvement. The SSI will show up near the end of the course. Please complete the SSI so we can improve our offerings.

Accessibility

This course is designed to be welcoming to, accessible to, and usable by everyone, including students who are English-language learners, have a variety of learning styles, have disabilities, or are new to online learning. Be sure to let me know immediately if you encounter a required element or resource in the course that is not accessible to you. Also, let me know of changes I can make to the course so that it is more welcoming to, accessible to, or usable by students who take this course in the future.

If you have documentation of a disability or feel you may have a disability:

St. Petersburg College recognizes the importance of equal access to learning opportunities for all students. Accessibility Services (AS) is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations. Students registered with AS, who are requesting accommodations, are encouraged to contact their instructor by the first week of the semester. Students who have, or think they may have, a disability (e.g. learning disability, ADD/ADHD, psychiatric, medical/orthopedic, vision, and/or hearing), are invited to contact the Accessibility Coordinator (AC) that serves your campus for a confidential discussion. To find your AC for your specific campus, please go to the college-wide Accessibility Services website:

Essential Skills and Technical Standards

The field of computers and information technology is intellectually and at times physically challenging. The Americans with Disabilities Act (ADA) and Section 504 of the Rehabilitation Act of 1973 ensure that qualified applicants have the ability to pursue program admission. However, all students must meet the essential skills and technical standards required of the St. PetersburgCollege of Computer and Information Technology Programs with or without reasonable accommodations for admission and completion of the program to prepare for the profession of study. Each student will be held to the same standards with or without reasonable accommodations. Our focus is the student and to best prepare him or her for the profession. Our goal is for them to enter and complete the program without barriers.

The essential functions described in this document are based on the knowledge and skills as prescribed by the Florida State Department of Education’s Curriculum Framework for each AS degree in the College of Computer and Information Technology. Students who graduate from the following AS Programs are required to meet the expectations of the program’s essential functions, and the functions list assists students in determining whether they can meet the performance expectations of the program, with or without accommodations.

SPC CCIT Computer and Programming Analysis AS: Essential Functions

COMPETENCY / ESSENTIAL FUNCTION / EXAMPLES OF REQUIRED FUNCTIONS
(not all inclusive)
Interpersonal Communication / Customer service, human relations and communication skills sufficient for effective interaction with others, whether in verbal or oral formats. /
  • Communicate effectively with clients and team members by displaying excellent verbal/oral, written and listening skills.
  • Ability to demonstrate appropriate positive social skills to interact with clients, team members and colleagues.

Critical Thinking / Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems. /
  • Demonstrate ability to conceptualize, analyze, synthesize, and evaluate a problem and propose an adequate solution.
  • Analyze and evaluate problems to determine if given data and information will produce required outputs.

Complex Problem Solving / Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions. /
  • Capacity to solve novel, ill-defined problems in a complex, real-world setting.
  • Ability to reduce a complex problem to a series of ordered steps.
  • Identify both positive and negative factors that could impact the solution to a problem and prepare measures to manage those factors.

Computation / Applying the knowledge of mathematics to solve problems. /
  • Identify mathematical and statistical analysis procedures needed to develop a solution.
  • Ability to apply similar problem solving techniques utilized in mathematics to solve logical computing and technology problems.

Programming and Analysis / An understanding of writing computer programs by describing the process, procedure and the algorithm. /
  • Articulate a series of actions or steps to achieve an end in a certain order.
  • Evaluate an ordered set of steps to solve a problem.
  • Determine the precision and accuracy required for a task.

Professional / Broad understanding of the industry and demonstrated programming and technical skills /
  • Maintain knowledge of the tools, techniques and resources to remain current in the IT field.
  • Ability to complete an internship in the IT field.
  • Develop the skills needed to take the aligned industry certification(s).

Best wishes for an enjoyable, productive course!