Computer Programming I



Similar documents
Chapter 2: Elements of Java

Computer Programming I

Computing Concepts with Java Essentials

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

#820 Computer Programming 1A

Basic Programming and PC Skills: Basic Programming and PC Skills:

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

Introduction to Programming System Design. CSCI 455x (4 Units)

AP Computer Science Java Subset

Lewis, Loftus, and Cocking. Java Software Solutions for AP Computer Science 3rd Edition. Boston, Mass. Addison-Wesley, 2011.

Fundamentals of Java Programming

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Introduction to Java Lecture Notes. Ryan Dougherty

Java Application Developer Certificate Program Competencies

Course Title: Software Development

Java (12 Weeks) Introduction to Java Programming Language

The C Programming Language course syllabus associate level

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

Computer Programming I & II*

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Syllabus for CS 134 Java Programming

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Introduction to Java

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

Object Oriented Software Design

Handout 3 cs180 - Programming Fundamentals Spring 15 Page 1 of 6. Handout 3. Strings and String Class. Input/Output with JOptionPane.

Iteration CHAPTER 6. Topic Summary

Glossary of Object Oriented Terms

Object Oriented Software Design

El Dorado Union High School District Educational Services

Programming and Software Development CTAG Alignments

Some programming experience in a high-level structured programming language is recommended.

CS 111 Classes I 1. Software Organization View to this point:

CS 106 Introduction to Computer Science I

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

CS106A, Stanford Handout #38. Strings and Chars

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

java Features Version April 19, 2013 by Thorsten Kracht

Moving from CS 61A Scheme to CS 61B Java

Introduction to Computer Programming (CS 1323) Project 9

Curriculum Map. Discipline: Computer Science Course: C++

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

Chapter 2 Elementary Programming

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner

COMPUTER SCIENCE (5651) Test at a Glance

Domains and Competencies

Computer Programming 2 Course Syllabus

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Database Programming with PL/SQL: Learning Objectives

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

Java and J2EE (SCJA Exam CX ) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

Computer Science 1015F ~ 2010 ~ Notes to Students

D06 PROGRAMMING with JAVA. Ch3 Implementing Classes

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall

First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

Java Basics: Data Types, Variables, and Loops

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Morris School District. Computer Science 2 Curriculum Grades 9-12

D06 PROGRAMMING with JAVA

Programming Languages CIS 443

Sources: On the Web: Slides will be available on:

INFSCI 0017 Fundamentals of Object- Oriented Programming

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

Morris School District. AP Computer Science A Curriculum Grades 9-12

Compiler Construction

AP Computer Science AB Syllabus 1

Arrays. Introduction. Chapter 7

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

The programming language C. sws1 1

AP Computer Science A Syllabus

C Compiler Targeting the Java Virtual Machine

CENTRAL TEXAS COLLEGE ITSE 2459 ADVANCED COMPUTER PROGRAMMING C# Semester Hours Credit: 4 INSTRUCTOR: OFFICE HOURS:

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

CSE 307: Principles of Programming Languages

Software Engineering Techniques

D06 PROGRAMMING with JAVA

13 File Output and Input

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

COMP-202B: Foundations of Programming

Lecture 5: Java Fundamentals III

Programming Project 1: Lexical Analyzer (Scanner)

Java EE Web Development Course Program

Charles Dierbach. Wiley

Transcription:

Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50, 7:45 8:30 (all times pm, others by appointment) Phone: (305) 348-1550 E-mail: Web: Required Text: shawg@fiu.edu http://www.cs.fiu.edu/~shawg Big Java 4th Edition by Cay Horstmann FIU COP 2210 Common Course Objectives 1. Be familiar with the concepts of Objects and Classes 2. 3. Master using the fundamental Java data types Master using the Java selection and iteration constructs 4. Master using String and ArrayList classes 5. Master analyzing problems and writing Java program solutions to those problems using the above features 1.) Introduction - Chapter 1 A Brief History of Computer Languages Machine Languages, Assembly Languages, High-Level Languages Translating Human-Readable Programs to Machine Language Compiled Languages, Interpreted Languages, and Java String Literals ("Constants") and String Concatenation Escape Sequences The ASCII and Unicode Character Sets Errors Syntax Errors, Exceptions (aka: Run-time Errors), and Logic Errors (i.e., Semantic Errors) Algorithms and Problem-Solving Using the NetBeans IDE

2.) Using an Existing Class (i.e. Creating and Manipulating Objects) - Chapter 2 Introduction to Variables and Data Types The Assignment Statement Object-Oriented Programming (OOP) Concepts Classes, Objects, and Methods Introduction to the String Class Creating String objects, and the length, replace, indexof, and substring methods Constructing ( Creating ) Objects Objects, Object Variables, and Object References Assignment of Object Variables Using Objects (i.e. Calling Methods for Objects) Accessor and Mutator Methods (aka: "get" and "set" Methods) Methods That Return a Value vs. "void" Methods Local Variables 3.) Implementing ( Creating ) Classes - Chapter 3 Class Interface vs. Class Implementation Encapsulation and Information Hiding Defining Classes and Methods Instance Variables (aka: Instance Fields) Access Specifier, Type, and Name Class Constructors Parameter Variables (aka: Method Parameters) Variable Scope, Lifetimes and Initial Values The this Object Reference and Shadowing Method Overloading 4.) Primitive Data Types (and More) - Chapter 4 Java's Primitive Data Types: int, double, char, boolean Arithmetic Operators and Operator Precedence Integer Arithmetic and Mixed-Type Arithmetic Integer Division and the Modulus ("Mod") Operator Type Conversion (aka: Type Casting) and "Roundoff" Errors The "Shortcut" or "Arithmetic" Assignment Operators The Increment and Decrement Operators Defined Constants (i.e., final variables) Intro to static Methods Math Class Methods (i.e., Functions ) - see pgs. 141, 1002-1004 Reading User Input Using the showinputdialog method of the JOptionPane Class Explicit vs. Implicit Method Parameters Assignment of Primitive Types and Assignment of Objects The Meaning of "=" Object References and Aliases 5.) Style and Documentation Standards for Java Programs (Online Notes and Appendices H and L) Style Considerations Creating Readable Programs Java Documentation Comments (aka: javadoc Comments) Internal Documentation

6.) Decision-Making (aka: Selection, Conditional Execution) Chapter 5 Relational Operators and Relational Expressions The if Statement Single-Alternative Decisions ("yes/no") Two-Alternative Decisions ("either/or") "Nested" if Statements Forming More Complex Conditions Multiple-Alternative Decisions ("one of many") Testing "Equality" of Floating-Point Numbers String Comparisons The equals Method vs. the Equality Operator ("==") The equalsignorecase Method Type boolean boolean Operators and Evaluating boolean Expressions boolean Variables ("flags") and the boolean Assignment Statement boolean Methods (aka: "Predicate" Methods) "Lazy" (or, "Shortcut") Evaluation of boolean Expressions DeMorgan s Laws for Simplifying Boolean Expressions Decision-Making Pitfalls Testing Programs that make Decisions Impossible Conditions and Unavoidable Conditions The "Dangling Else" Problem (How to Avoid It) 7.) Iteration (aka: Repetition, Looping) - Chapter 6 The while Loop Loop Necessities Defensive Programming and Robust Programs Using while to Validate Input Accumulators and Counters The for Loop The do Loop (aka: The "do-while" Loop) Reading Data Until End-of-File Introduction to the Scanner class Methods next, nextint, and nextdouble, and boolean Method hasnext The "Loop and a Half" Problem and the break Statement Nested Loops Iteration Pitfalls: Infinite Loops and "Off by One" Errors 8.) The ArrayList Class Chapter 7, Sections 7.2 and 7.3 ONLY! Generic ArrayLists ArrayList Methods add, get, size, remove, set, and clear ArrayLists of Primitive Types Wrapper Classes, Autoboxing, and Autounboxing ArrayLists of Objects 9.) Files Online Notes and Chapter 11, Sections 11.1 and 11.2 File Concepts Sequential Access vs. Random Access Files ASCII Files vs. Binary Files Reading from Input Files ( Data Files ) Using the Scanner Class Writing to Output Files Using the PrintWriter Class

10.) Object-Oriented Design - Chapter 8 Choosing Classes to Model Class Cohesion, Class Coupling, and Method Side Effects Call-by-Value vs. Call-by-Reference Parameter Passing Why you can't change the value of a method argument Proper Method Documentation: Preconditions and Postconditions Static Class Methods and Static Class Variables 11.) The String Class Revisited Online Notes and Chapter 4, Section 4.5 The null ("empty") String vs. the null Object Reference String Class Methods length, substring, indexof, touppercase, tolowercase, and charat String Comparisons - the compareto and comparetoignorecase Methods Assigned Rooms (check your schedule for exact days and times) Class: ECS 135 Labs (required): ECS 141 Tutoring (optional): ECS 235 See Understanding Your Schedule, online The John C. Comfort Undergraduate Lab is ECS 241. open lab where you can work at any time This is an Important Dates Midterm Exam Thursday, February 23rd Drop Date - Friday, March 2nd Final Exam Sections U1 and U2 - Thursday, April 26th (9:45 11:45 am) Sections U3 and U4 - Tuesday, April 24th (12:00 2:00 pm) Sections U5 and U6 - Thursday, April 26th (5:00 7:00 pm)

Composition of Course Grade Item Value Programming assignments (8 or 9) 25% Midterm exam 25% Final exam 40% Lab assignments 10% You must pass the tests to pass the class. I.e. the average of your two test scores must be at least 60% of the highest average in the class. Computation of Final Course Grade 1. Final numeric averages are curved by comparing each student's numeric average (see above) to the highest in the class. For example, suppose the highest average in the class is 90%. Then, an average of 75 would curve to an 83, because 75 is 83% of 90. 2. The curved numeric average is then converted to a letter grade according to this scale: Numeric Average Letter Grade 93..100 A 90..92 A- 87..89 B+ 83..86 B 80..82 B- 77..79 C+ 70..76 C 60..69 D 0..59 F Other Important Information Class policies on late assignments, partial credit, makeup tests, academic honesty, incompletes, etc, are covered in the online document Class Rules and Gregulations.