Frederick Community College

Course Syllabus – Computer Science I

(CIS201-HYB1 [298] Summer 2011)

Classes Begins: 06/06/2011

Classes Ends: 08/01/2011

Last Day to Withdraw: 07/013/2011

 

Instructor Information:

Name: Frank (Francis M.) Seidel

Office: Science & Technology Hall C-214

E-mail: fseidel@frederick.edu

NOTE: In order to help ensure a quick response, all e‑mail must be sent to your instructor through your MyFCC e-mail with the subject line ending in : CIS_201_Summ11_SecHYB1

(NOTE:  Blackboard adds this automatically.)

Phone Number: (301) 846-2589

(NOTE:  During Summer – Professor Seidel will only be on campus select days.  The primary form of communication with him must be e-mail.)

Department: (301) 846-2505

Office Hours:    Posted outside office door and in Blackboard.

Campus Mail Box Number: 302 (NOTE: All assignments are to be submitted via Blackboard)

 

Course Information:

Course: Computer Science I

Credits: 3

Prerequisites: CIS106

Co-requisites: None

Meeting Day(s): Monday through Thursday (on-line) & Thursday on Campus

Meeting Times: 6:00 pm – 8:30 pm

 

Course Description:

Emphasizes object-oriented design, data abstraction and programming (in Java) beyond an introductory level. Introduces user interfaces and graphics through the study of object design. Explores the social implications of computing. Emphasizes object-oriented software engineering including UML. Investigates fundamental sorting and searching algorithms, introductory dynamic data structures and event driven programming techniques. Develops programming skills using a language that supports the object-oriented paradigm (Java).

 

Core Learning Outcomes: By the completion of the course students will be able to:

1.    Use object-oriented techniques to design solution algorithms

2.    Evaluate algorithms in terms of complexity, completeness, accuracy and correctness

3.    Develop various fundamental algorithms that manipulate objects and data structures

4.    Develop event-driven computer programs

5.    Use a programming language (Java) that supports the object-oriented paradigm

6.    Discuss the social implications of computing and computer programming.

Additional Outcomes:

7.    Discuss the differences between object oriented and procedural design

 

Instructional Methods:

Posted examples, discussion board, in-class labs, software exercises and hands-on activities.

 

Texts and Materials for Course:

Java Software Solutions: Foundations of Program Design, 7/E,  John Lewis and William Loftus, ISBN-10: 0132149184 and ISBN-13: 9780132149181, Addison-Wesley (2012)

A portable USB storage device (e.g., "pen" drive) is required to save your files.

Additional materials will be provided by the instructor in electronic form.

 

Progress Report:

You will receive your progress report no later than the end of the third week of the semester. Your grade book in Blackboard will have all your graded activities and represents your progress report. However, feel free to discuss any problems or conflicts concerning this course with your instructor at any time.

 

Assessment Methods:

Tests / Papers / Projects

Approximate Percentage Value (subject to change)

 

Final Grade Scale

Exams (2)

Quizzes (5)

Project Assignments

Labs, Participation, Activities, Exercises and Discussion Forums

TOTAL

40%

10%

             25%

            25%

           100%

 

90% - 100%

  A*

 

80% -   89%

B

 

70% -   79%

C

 

60% -   69%

D

 

59% and below

F

* Note:  It will be necessary to hand in all project assignment parts to receive an “A” grade in this course.

Makeup Tests

It is a policy to not issue makeup tests or quizzes for this course. If, for extraordinary circumstances, a makeup test or quiz is permitted (arrangements must be made in advance) and the type of makeup test or quiz is left to the instructor's discretion and may include essay questions.

 

Assignments

Unless otherwise instructed, all assignments are due by 8am on their due dates and are to be submitted via Blackboard, not e-mail. If an assignment is late, ten percent (10%) will be deducted for each calendar day it is late.  Late assignments will be accepted ONLY at the instructor’s discretion and provided that the assignment has NOT been graded and has NOT been returned to the class. Absolutely no work will be accepted after the last class.

 

Codes of Academic Integrity and Student Conduct

Students are required to uphold the Code of Academic Integrity and the Code of Student Conduct. Students who violate either of these codes may receive a failing grade in the class.  Information about these codes and other student policies, procedures, and penalties is available on the Student Policy and Procedures web page at http://www.frederick.edu/student_services/studentpolicies.aspx .

 

Additional Conduct Requirements:

Professionalism:

Students are expected to conduct themselves in a professional manner as they would in a professional occupation. 

 

Academic Honesty:

Each student is expected to perform his/her own academic work. If students work together, they are expected to each be working on separate computers and completing assignments on their own. Two students who work together but submit two copies of the same assignment (even if minor changes like names are made) are violating college policies. Plagiarism and other forms of academic dishonesty are considered extremely serious offenses. As little as one sentence copied from the Internet (or another source) into a research paper without citing the source will result in, as a minimum, a zero for the assignment and disqualification from presenting the paper. Students are personally responsible for understanding the various forms of academic dishonesty as explained in the "Code of Academic Honesty" section of the Student Handbook. Failure to comply with any requirement for academic honesty may trigger disciplinary proceedings. Any form of cheating or plagiarism is considered grounds for failure of the course.

Software Piracy

Software that is copyrighted is intended for use in its original form. Duplicate copies can be produced only if written permission is obtained from the software manufacturer. The U.S. law states that noncompliance may result in civil damages not exceeding $50,000 and criminal penalties of up to one (1) year and/or a $10,000 fine. Note that minors are not exempt from copyright law.

 

Student Services

A variety of services are available to assist students in succeeding at FCC. Students can learn more about these services by visiting the Student Services web page: http://www.frederick.edu/student_services/index.aspx

Students with disabilities who are in need of accommodations or who have questions related to disabilities services should contact the Services for Students with Disabilities (SSD) office at 301-846-2408. Students can learn more about these services by visiting the Services for Students with Disabilities web page: http://www.frederick.edu/student_services/disability.aspx .

Participation Policy

On-line and on-campus participation are required.  Students in this class are expected to assume responsibility for attending and participating fully in class.  Student are expected to come to class prepared to participate, this includes but is not limited to reading the chapter to be covered before the class in which it is covered.  Active participation will enhance the student learning process.  Disruptive or unprofessional behavior diminishes the learning environment for the entire class and will not be tolerated.  (Please refer to the "Classroom Behavior" section in the Student Handbook for more information on expected behavior.)  Absence from a class does not excuse a student from knowing what was covered in class or from completing activities, assignments, quizzes, tests, or other requirements of the course on time, which may affect your grade. Excused absences include illness (with doctor's note), emergencies deemed as such by your instructor, religious holidays, and official College functions. The instructor has full discretion on whether the absence to qualifies as an excused absence and whether to issue makeup work for the student to complete.

 

Email Communication

All students will receive and be expected to use their FCC provided (myfcc.frederick.edu) email address for their correspondence with faculty and staff at the college.  Students can establish and access their FCC email accounts at the login page: https://myfcc.frederick.edu.

 

Topical Outline

Every effort will be made to keep to this schedule; however, the instructor reserves the right to alter or amend it as necessary. Additional dates may be required as make-up days for inclement weather or other cancellations.  Adjustments to the schedule may affect due dates or actual assessments given.

 

CIS201 Computer Science I - Topical Outline

Class

Subject

Content/Activities/Assignments

On-Line

Week

1

Introductions

 

Chapter 1 Introduction 1

1.1 Computer Processing 2

1.2 Hardware Components 10

1.3 Networks 20

1.4 The Java Programming Language 26

1.5 Program Development 36

1.6 Object-Oriented Programming 44

 

Chapter 2 Data and Expressions 57

2.1 Character Strings 58

2.2 Variables and Assignment 65

2.3 Primitive Data Types 71

2.4 Expressions 75

2.5 Data Conversion 83

2.6 Interactive Programs 87

2.7 Graphics 92

2.8 Applets 95

2.9 Drawing Shapes 99

 

Software Failure: NASA Mars Climate Orbiter and Polar Lander 111

Syllabus Overview

 

Read Chapter 1

Read Chapter 2

Jun 9

On-

Campus

Introductions & Overview

Chapter 1 & 2 Review

Chapter 2 – Group Lab Exercise

On-Line

Week

2

Chapter 3 Using Classes and Objects 113
3.1 Creating Objects 114
3.2 The String Class 118
3.3 Packages 122
3.4 The Random Class 126
3.5 The Math Class 129
3.6 Formatting Output 132
3.7 Enumerated Types 138
3.8 Wrapper Classes 141
3.9 Components and Containers 143
3.10 Nested Panels 148
3.11 Images 151

Chapter 4 Writing Classes 159
4.1 Classes and Objects Revisited 160
4.2 Anatomy of a Class 162
4.3 Encapsulation 169
4.4 Anatomy of a Method 172
4.5 Constructors Revisited 181
4.6 Graphical Objects 182
4.7 Graphical User Interfaces 191
4.8 Buttons 192
4.9 Text Fields 196
Software Failure: Denver Airport Baggage Handling System 205

Quiz 1

 

Assignment 1

Jun 16

On-

Campus

Chapter 3 & 4 Review

Chapter 3/4 – Group Lab Exercise

On-Line

Week

3

Chapter 5 Conditionals and Loops 207
5.1 Boolean Expressions 208
5.2 The if Statement 213
5.3 Comparing Data 226
5.4 The while Statement 230
5.5 Iterators 241
5.6 The ArrayList Class 245
5.7 Determining Event Sources 248
5.8 Check Boxes and Radio Buttons 251
Software Failure: Therac-25 267

Chapter 6 More Conditionals and Loops 269
6.1 The switch Statement 270
6.2 The Conditional Operator 274
6.3 The do Statement 275
6.4 The for Statement 279
6.5 Drawing with Loops and Conditionals 285
6.6 Dialog Boxes 291

Quiz 2

 

Assignment 1 Due

Assignment 2

Jun 23

On-

Campus

Chapter 5 & 6 Review

Chapter 5/6 – Group Lab Exercise

On-Line

Week

4

Chapter 7 Object-Oriented Design 301
7.1 Software Development Activities 302
7.2 Identifying Classes and Objects 303
7.3 Static Class Members 305
7.4 Class Relationships 310
7.5 Interfaces 322
7.6 Enumerated Types Revisited 329
7.7 Method Design 332
7.8 Method Overloading 343
7.9 Testing 345
7.10 GUI Design 349
7.11 Layout Managers 350
7.12 Borders 365
7.13 Containment Hierarchies 369
Software Failure: 2003 Northeast Blackout 377

Chapter 8 Arrays 379
8.1 Array Elements 380
8.2 Declaring and Using Arrays 381
8.3 Arrays of Objects 392
8.4 Command-Line Arguments 402
8.5 Variable Length Parameter Lists 404
8.6 Two-Dimensional Arrays 408
8.7 Polygons and Polylines 413
8.8 Mouse Events 418
8.9 Key Events 427
Software Failure: LA Air Traffic Control 441

Quiz 3

 

Assignment 2 Due

Assignment 3

Jun 30

On-

Campus

Chapter 7 & 8 Review

Chapter 7/8 – Group Lab Exercise

On-Line

Week

5

Chapter 9 Inheritance 443
9.1 Creating Subclasses 444
9.2 Overriding Methods 455
9.3 Class Hierarchies 458
9.4 Visibility 463
9.5 Designing for Inheritance 466
9.6 The Component Class Hierarchy 468
9.7 Extending Adapter Classes 471
9.8 The Timer Class 475
Software Failure: Ariane 5 Flight 501 485

Midterm Exam – Part A

Jul 6

On-

Campus

Chapter 9 Re view

 

Midterm Exam – Part B

 

On-Line

Week

6

Chapter 10 Polymorphism 487
10.1 Late Binding 488
10.2 Polymorphism via Inheritance 489
10.3 Polymorphism via Interfaces 502
10.4 Sorting 504
10.5 Searching 513
10.6 Designing for Polymorphism 519
10.7 Event Processing 521
10.8 File Choosers 522
10.9 Color Choosers 525
10.10 Sliders 527

Quiz 4

 

Assignment 3 Due

Assignment 4

Jul 13

On-

Campus

Chapter 10 Review

Chapter 9/10 – Group Lab Exercise

On-Line

Week

7

Chapter 11 Exceptions 537
11.1 Exception Handling 538
11.2 Uncaught Exceptions 539
11.3 The try-catch Statement 540
11.4 Exception Propagation 545
11.5 The Exception Class Hierarchy 549
11.6 I/O Exceptions 553

Chapter 12 Recursion 583
12.1 Recursive Thinking 584
12.2 Recursive Programming 586

Quiz 5

 

Assignment 4 Due

Assignment 5

Jul 20

On-

Campus

Chapter 11 & 12 Review

Chapter 11 – Group Lab Exercise

On-Line

Week

8

Chapter 13 Collections 617
13.1 Collections and Data Structures 618
13.2 Dynamic Representations 619
13.3 Linear Data Structures 627
13.4 Non-Linear Data Structures 631
13.5 The Java Collections API 634

 

Final Exam – Part A

 

Jul 27

On-

Campus

Chapter 13 Collections (Overview)

Assignment 5 – Presentations

 

Final Exam - Part B

Assignment 5 Due

 

All students are expected to have read the material in each chapter prior to the class in which the chapter will be discussed. This topical outline lists the major topics within each chapter, but the quizzes may include additional material from each chapter not discussed in class sessions.