|
CSC 121 - Introduction to Computer Science I - Fall 2008 |
|
121-003 Lec+Lab |
MW |
1:00pm - 2:40pm |
CI 2006 |
|
Instructors:
Curry Guinn Office:
CI 2045 Phone: 962-7937
|
Office Hours: |
MTWRF 10:00am-11:00am |
|
|
and by appointment. |
|
Email: guinnc@uncw.edu |
UNCW CATALOGUE DESCRIPTION
CSC 121. Introduction to Computer Science I (3) Prerequisite: MAT 111 or 115. Problem solving methods and algorithms in a modern high-level programming language. Introduces one or more programming environments. Emphasis on programming style and the design, coding, and testing of complete programs. A grade of "C" (2.00) or better is required for taking any course for which CSC 121 is a prerequisite. Two lecture and two laboratory hours each week.
GENERAL COURSE INFORMATION
This (along with CSC 100) is the first required course for Computer Science
majors. Students may declare a major in Computer Science after completion of
CSC 121, 133, and 221 with a grade point average of at least 2.5 on these 3
courses.
Students intending to major in Computer Science are encouraged to take CSC 100
(Orientation to Computer Science) and CSC 133 (Discrete Structures) during the
same semester as CSC 121. CSC 100 is a required course for majors and minors
starting in Fall 2007. In CSC 133 students will
learn the logic and mathematics underlying computer science.
CSC 121 is the first of a three course sequence (CSC 121, 221, 332) on computer
programming using the JavaTM
programming language. No previous programming experience is assumed. In these
courses students will learn many core concepts in computer science and the
fundamentals of software design and development. Students will learn basic
problem solving strategies and common design patterns in order to expedite the
software development process. Students will also discover that computer
programming is an art and beyond a program that "works" are issues of
aesthetics, simplicity, and elegance.
CSC 121 is not an easy course, but students find it rewarding and well worth
the effort. Students should expect to spend 5 to 10 hours per week on the
course outside of class time.
REQUIRED TEXTBOOK AND CHAPTERS COVERED
Java Software Solutions: Foundations of Program Design, 6/E
Publisher: Addison-Wesley, Copyright: 2009,
Format: Paper Bound w/CD-ROM;
ISBN-10: 0321532058
ISBN-13: 9780321532053
The Actual Download Install for BlueJ (as their site was down for a while)
Downloads: JDK 6.0 (setting the path variable) / BlueJ.org / BlueJ download / Eclipse
|
Week |
Required |
Assignments: Quizzes & Homework |
Lab |
|
1 |
Chapter 1. Introduction. Computer Processing. Hardware Components. Networks. The Java Programming Language. Program Development. Object-Oriented Programming. (Lecture Notes 08/20; (Lecture Notes 08/25) |
Quiz 2 (Monday, 8/25) Homework1 (Monday, 8/25) |
Lab1 (8/20)
Lab 2 (8/25) |
|
2 |
Chapter 2. Data and Expressions. Character Strings. Variables and Assignments. Primitive Data Types. Expressions. Data Conversion. Interactive Programs. Graphics. Applets. Drawing Shapes. Debugging (Lecture Notes 08/27; Lecture Notes 09/03) |
Quiz 3 (Wednesday, 09/03)
Homework 2 ( |
Lab3 (8/27, 9/03) |
|
3 |
Chapter 3.
Using Classes and Objects. Creating Objects. The String Class. The Random
Class. The Math Class. Formatting Output. |
Quiz: 4 (Wednesday, 9/10) Homework 3 (Sunday, 9/14) |
Lab 4 (9/08)
Lab5 (9/10) |
|
4-5 |
Chapter 4. Writing Classes. Classes and Objects Revisited. Anatomy of a Class. Encapsulation. Anatomy of a Method.Constructors Revisited. Graphical Objects. Graphical User Interfaces. Buttons. Text Fields. (Lecture Notes, 09/15; Lecture Notes, 09/17; Lecture Notes, 09/22) |
Quiz: 5 (Wednesday, 9/17) Homework 4 (Sunday 9/21)
|
Lab 6 (9/15) Lab 7 (9/17) |
|
6-8 |
Chapter 5.
Conditionals and Loops. Boolean Expressions. The if
Statement. Comparing Data. The switch Statement. The while Statement. |
Exam 1 9/24
Homework 5 (Thursday, 10/16) |
Lab 8 (9/22)
Practical (10/01)
Lab 11 (10/13, 10/15) |
|
9-11 |
Chapter 6.
Object-Oriented Design. Software Development Activities. Identifying
Classes and Objects. Static Class Members. Class Relationships. |
Quiz 6 (Monday, 10/13) Homework 6 (Sunday, 10/26) |
|
|
12-13 |
Chapter 7.
Arrays. Array Elements. Declaring and Using Arrays. Arrays of Objects.
Command-Line Arguments. |
Quiz: SR 7.1, SR 7.2, SR 7.3, SR 7.4, SR 7.5, SR 7.6, SR 7.7, SR 7.8, SR 7.9, EX 7.3, EX 7.8 (Note Change in date: 10/27) Homework 7 (Friday, 11/07) |
Lab 13 (10/22, 10/27) Lab 14 (10/29)
|
|
|
Chapter 8.
Inheritance. Creating Subclasses. Overriding Methods. Class Hierarchies.
Visibility. Designing for Inheritance. |
Quiz SR 8.1, SR 8.4, SR 8.5, SR 8.7, SR 8.8, SR 8.14 (11/05) Homework 8 (Sunday, 11/16) |
Open Lab Period for Homework (11/03)
|
|
|
Chapter 10.
Exceptions. Exception Handling. Uncaught Exceptions. The try-catch
Statement. |
Quiz SR SR 10.1, SR 10.2, SR 10.3 - Be able to read and trace the execution of a program with a try-catch block: pp 538-9. (11/12) HW 9: Link. It is due 12/04. |
Exceptions will be incorporated into Lab 15. |
|
|
Chapter 11. Recursion. Recursive Thinking. Recursive Programming. Using Recursion. Recursion in Graphics. (Lecture Notes, 11/12) |
|
Lab 16 (11/12) |
|
|
Chapter 12.
Collections. Collections and Data Structures. |
In-Class Written Test (12/01) Final Exam: (Monday, 12/08, 11:30am-2:30pm) |
Lab 17 (11/17) Lab 18 (11/19) Lab 19 (11/24) 12/03 |
|
|
Appendix A Glossary Appendix B Number Systems Appendix C The Unicode Character Set Appendix D Java Operators Appendix Appendix F Java Coding Guidelines Appendix G Java Applets Appendix H Regular Expressions Appendix I JavaDoc Documentation Generator Appendix J The PaintBox Project Appendix K GUI Events Appendix L Java Syntax Appendix M The Java Class Library Final Exam Review: Glossary / Keywords. Read the course minimal competencies carefully. These are the expected learning goals for this semester (in preparation for subsequent course work) and will tested on the final exam. Final Exam |
|
|
STUDENT RESOURCES
COURSE REQUIREMENTS AND GRADING CRITERIA
Students are required to attend the lab that they are signed up for except under exceptional situations and then when prior arrangements have been made with Dr. Guinn. The lecture section will determine 4/6 of the course grade and the lab/programming section 2/6 of the course grade as itemized below. Thus, to succeed/excel in the course, a student must succeed/excel in both lecture and lab section.
· Numeric Score Letter Grade Quality Points
· ====================================================
· 90.0 - 100 A 4.00
· 80.0 - 89.5 B 3.00
· 70.0 - 79.5 C 2.00
· 60.0 - 69.5 D 1.00
· 00.0 - 59.5 F 0.00
· The following algorithm can be used to compute your final grade based on your
· before final average:
· if (finalExam < lowestTest)
· grade = (finalExam + 5 * beforeFinal) / 6;
· else
grade = (5 * beforeFinal - lowestTest + 2 * finalExam) / 6;
In choosing UNCW, you have become part of our community of scholars. We recognize that the UNCW learning experience is challenging and requires hard work. It also requires a commitment to make time available to do that hard work. The university expects you to make academics your highest priority by dedicating your time and energy to training your mind and acquiring knowledge. Academic success in critical thinking and problem solving prepares you for the changes and challenges you will encounter in the future. Our faculty and academic support resources are readily available as partners in this effort, but the primary responsibility for learning is yours.
Honor Code
It is the responsibility of every student to uphold and maintain the UNCW Academic Honor Code (see Section V of your Student Handbook). You violate the honor code when you represent someone else's work as your own. Programming assignments may be discussed at a conceptual level with other students but details and coding must be your own. Copying and team collaboration is prohibited.
Learning Strategies
You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class. Programming assignments usually require a lot more time than expected, so start early and work some every day.
Policies
UNCW practices a zero-tolerance policy for violence and harassment of any kind. For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-3184, or Wilmington Police at 911. For University or community resources visit http://uncw.edu/wrc/crisis.htm
Students with Disabilities
If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.
Student Affairs Disability Services - Policies and Procedures
|
|
|
Original Design by J. A. Tompkins, Modified by C.Guinn |
|