FloridaInternational University

School of Computing and Information Sciences
COP2250 – Java Programming (U03, U04)

Fall 2012 Semester

Instructor:Walid Akache
Office:ECS-312
Phone:305-348-3731
Instructor E-mail:
Office Hours: (M/W/F 1000-1200Noon)

Course Description

COP2250 - Programming in Java is the first of a two-course sequence in computer programming using the Java language This course teaches the basic programming techniques to problem solving in an Object Oriented fashion. It uses the Java language as the tool for programming.

This course is intended for majors in non-scientific areas, who must acquire basic programming skills to supplement their primary areas. It is especially appropriate for students in Information Technology and Management disciplines. The course is a three (3) credit course. It does not require any lab, but it requires writing programs.

The concepts covered in this course are:

  • The identification of objects and their behavior
  • Design and construction of classes
  • Primitive data types
  • Control structures
  • Strings
  • Arrays & ArrayLists

Goals

  • To become knowledgeable in the fundamental concepts, methodologies, and techniques associated with Object Oriented Programming.
  • To learn the fundamentals of Java Programming Language:
  • Classes and Objects
  • Fundamental data types
  • Operators and operations on data.
  • Control structures
  • Be able to understand and apply the elementary data structure called array.
  • To be able to design appropriate class(s) to solve problems.
  • To be able to effectively apply the basic features of Java to problem solving.

Pre-requisite

This course requires no previous programming experience and no Mathematics other than arithmetic skills and some degree of high school algebra.

Academic Conduct

Florida International University is a community dedicated to generating and imparting knowledge through excellent teaching and research, the rigorous and respectful exchange of ideas, and community service. All students should respect the right of others to have an equitable opportunity to learn and honestly demonstrate the quality of their learning. Therefore, all students are expected to adhere to a standard of academic conduct, which demonstrates respect for themselves, their fellow students, and the educational mission of the University. All students are deemed by the University to understand that if they are found responsible for academic misconduct, they will be subject to the Academic Misconduct procedures and sanctions, as outlined in the Student Handbook.

Instructor

Instructor / Walid Akache
Office / ECS 312
Phone / (305) 348 - 3731
E-mail /

Lecture Schedule

Sec / Day / Time / Room
U03 / T/R / 12:30PM – 1:45PM / ECS 143
U04 / T/R / 5:00PM – 6:15PM / ECS 143

Office Hours

Days / Room
M/W/F 1000-1200 Noon / ECS 312

Assessment

6 Programming Assignments / 40%
Two tests / 30% (15% each)
Final Exam / 30%

Note: You MUST pass the final exam (60% or higher) in order to pass the course.
All exams are closed book, and no calculators or other aids will be permitted.
Some material presented in class will not be in the textbook. However, all material presented or assigned are testable material.

Grading Scheme

Final grade will be CURVED.

Curved Grade 93-100“A”

Curved Grade 89-92“A-”

Curved Grade 85-88“B+”

Curved Grade 81-84“B”

Curved Grade 79-80“B-”

Curved Grade 75-78“C+”

Curved Grade 70-74“C”

Curved Grade 65-69“D+”

Curved Grade 60-64“D”

Curved Grade 0-59“F”

Resources

Starting Out with Java: From Control Structures through Data Structures
Second Edition
Tony Gaddis & Godfrey Muganda

ISBN-10: 0-321-54586-9
ISBN-13: 978-0-321-54586-2

Publisher: Addison-Wesley
Copyright: 2012
Format: Paper; 1350 pp

Recommended:

Computer Science Applications Object Oriented programming

By: Joslyn Smith

ISBN: 978-1-60927-745-1

800.200.3908

JavaTutorial


Class Policy

  • Programming assignments must be submitted on time; i.e. by the due date specified.
  • Programming assignments will be accepted only on a Flash Drive.
  • Programs must be free of syntax error in order to get full or partial credit.
  • Make sure that all assignments that are submitted are the right ones.
  • Late assignments will not be accepted, except on the grounds of valid medical reasons.
  • Class attendance is not graded.
  • Class participation is not graded.
  • Unscheduled tests or exams will not be administered, except on the grounds of valid medical reasons.
  • It is your responsibility to plan ahead so that there is no interruption in your study.
  • Plagiarism will not be tolerated.
Syllabus

The following is a tentative class schedule. Slight deviation might arise due to the asking of questions and/or answer questions from students. Some class discussions consume time. This means that I might not be able to follow the schedule strictly. The topics will however, be discussed in the order that they are presented in the schedule.

Week 1 - Chapter 1 Introduction to Computers and Java

1.1 Introduction

1.2 Why Program?

1.3 Computer Systems: Hardware and Software

1.4 Programming Languages

1.5 What Is a Program Made of?

1.6 The Programming Process

1.7 Object-Oriented Programming

Week 2, 3- Chapter 2 Java Fundamentals

2.1 The Parts of a Java Program

2.2 The print and println Methods, and the Java API

2.3 Variables and Literals

2.4 Primitive Data Types

2.5 Arithmetic Operators

2.6 Combined Assignment Operators

2.7 Conversion between Primitive Data Types

2.8 Creating Named Constants with final

2.9 The String Class

2.10 Scope

2.11 Comments

2.12 Programming Style

2.13 Reading Keyboard Input

2.14 Dialog Boxes

2.15 Common Errors to Avoid

Week 4, 5 - Chapter 3 Decision Structures

3.1 The if Statement

3.2 The if-else Statement

3.3 The if-else-if Statement

3.4 Nested if Statements

3.5 Logical Operators

3.6 Comparing String Objects .

3.7 More about Variable Declaration and Scope

3.8 The Conditional Operator (Optional)

3.9 The switch Statement

3.10 Creating Objects with the DecimalFormat Class

3.11 The printf Method

3.12 Common Errors to Avoid

Weeks 6, 7 - Chapter 4 Loops and Files

4.1 The Increment and Decrement Operators

4.2 The while Loop

4.3 Using the while Loop for Input Validation

4.4 The do-while Loop

4.5 The for Loop

4.6 Running Totals and Sentinel Values

4.7 Nested Loops

4.8 The break and continue Statements (Optional)

4.9 Deciding Which Loop to Use

4.10 Introduction to File Input and Output

4.11 The Random Class

4.12 Common Errors to Avoid

Week 7 Test I

Week 8 - Chapter 5Methods

5.1 Introduction to Methods

5.2 Passing Arguments to a Method

5.3 More about Local Variables

5.4 Returning a Value from a Method

5.5 Problem Solving with Methods

5.6 Common Errors to Avoid

Review Questions and Exercises

Week 9 - Chapter 6 A First Look at Classes

6.1 Classes and Objects

6.2 Instance Fields and Methods

6.3 Constructors

6.4 Overloading Methods and Constructors

6.5 Scope of Instance Fields

6.6 Packages and import Statements

6.7 Focus on Object-Oriented Design: Finding the Classesand Their Responsibilities

6.8 Common Errors to Avoid

Week 10 - Test II

Week 11, 12, 13 - Chapter 8 Arrays and the ArrayList Class

8.1 Introduction to Arrays

8.2 Processing Array Elements

8.3 Passing Arrays As Arguments to Methods

8.4 Some Useful Array Algorithms and Operations

8.5 Returning Arrays from Methods

8.6 String Arrays

8.7 Arrays of Objects

8.8 The Sequential Search Algorithm

8.9 Two-Dimensional Arrays

8.10 Arrays with Three or More Dimensions

8.11 Command-Line Arguments and Variable-Length Argument Lists

8.12 The ArrayList Class

8.13 Common Errors to Avoid

Week 14 - Final Exam

Dates to Observe

Important Dates:9/3/2012 Labor Day Holiday

10/29/2012 Drop/Withdraw Date

11/12/2012 Veterans Day Holiday

11/24, 25/2012 Thanksgiving

11/30/2012 Classes End

Attendance is required