Summer 2008 Fayetteville State University Albert Chan CSC120 Syllabus Introduction to Programming Methodology Page 1 of 3

I. Locator Information: Semester: Summer 2008 Instructor: Dr. Albert Chan Course Number: CSC120 Course Name: Introduction to Programming Methodology Semester Credit Hours: 3 Credit Hours (3-3-0) Class Day and Time: Online Office Location: SBE345 Office hours: 10:00-12:00 daily first week (May 20-23), by appointment afterward. Office Phone: (910) 672-1517 Email address: [email protected]

FSU Policy on Electronic Mail: Fayetteville State University provides to each student, free of charge, an electronic mail account that is easily accessible via the Internet. The university has established email as the primary mode of communicating with enrolled students about impending deadlines, upcoming events, and other information important to student progression at the university. Students are responsible for reading their email on a regular basis to remain aware of important information disseminated by the university. The university maintains open-use computer laboratories throughout the campus that can be used to access electronic mail. Students making inquiries via email to FSU faculty and staff about academic records, grades, bills, financial aid, and other matters of a confidential nature are required to use their FSU email account. Rules and regulations governing the use of FSU email may be found at: http://www.uncfsu.edu/PDFs/EmailPolicyFinal.pdf. Note: all emails sent to the instructor must begin with the phrase “CSC120” in the subject line or the emails will be deleted by automatic spam filter and the instructor will not see the email at all.

II. DISABLED STUDENT SERVICES In accordance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act (ACA) of 1990, if you have a disability or think you have a disability to please contact the Center for Personal Development in the Spaulding Building, Room 155 (1st Floor); 910-672-1203.

III. Course Description: This course is the first course of a two-semester sequence that provides an overview of programming methodology and program writing skills. Topics include basic concepts of computer systems, problem solving and algorithm development, program structures, data types, program development, method and style, coding, debugging, testing and documentation. Prerequisite: CSC 105, and Math 129/131 or higher.

IV. Student Learning Outcomes: Upon completion of this course, students will be able to:  Describe the components of a computer.  Describe the process to compile a Java program.  Use data types and variables in their Java programs.  Describes the differences among objects, classes, and methods.  Construct Java objects.  Look up Java API documentation.  Specify the public interface of classes.  Implement constructors and methods.  Use different number types.  Use constants.  Use assignments, increments and decrements operations.  Use arithmetic operations and mathematical functions.  Use selection structures in Java programs.  Use repletion structures in Java programs.  Use arrays.  Implement simple algorithms using Java. Summer 2008 Fayetteville State University Albert Chan CSC120 Syllabus Introduction to Programming Methodology Page 2 of 3

V. Textbook: (Prices are publisher suggested retail prices as quoted on the publisher’s web site) Author: Horstmann Title: Java Concepts Edition: 5th Edition Publisher: John Wiley and Sons, Inc. Year: 2007 ISBN-13: 978-0-470-13303-3 (Printed version with Wiley Plus access) ($110.95) 978-0-470-10555-9 (Printed version without Wiley Plus access) ($110.95) 978-0-470-11114-7 (Electronic version on Wiley Plus only) ($44.95)

Any version can be used. We do not use Wiley Plus for this course. The printed version with Wiley Plus access is available from campus bookstore.

It will be OK to use an older edition of the textbook (if you can get hold of one). However, you are responsible for matching the chapters/pages between the current and the older editions. Please note that there may be material available only in the current edition.

Although convenient, the university bookstore is NOT the only source for textbooks. There are numerous places you can get textbooks (new or used) cheaper; including other bookstores and Internet booksellers/resellers. Please note that I have no relation to any of them and this is not an endorsement in any way. Please also be aware that there may be a risk when you give your credit card details to an Internet site if you decide to buy the textbook online.

VI. Course Requirements and Evaluation Criteria The course is evaluated based on the following criteria:  Projects: 20%  Quizzes: 20%  Tests: 20% . Tests will be made available from Wednesday to Friday during the week when each specific test is scheduled. Students can take the tests anytime when the tests are available. However, each test is timed and you must finish within one hour. You may only attempt each test one time; therefore, make sure you don’t close the test window until you have submitted all your answers.  Final Examination: 20% . Final Examination will be made available from Wednesday to Friday during the week when it is scheduled. Students can take the examination anytime when the examination is available. However, the examination is timed and you must finish within two hours. You may only attempt the examination one time; therefore, make sure you don’t close the examination window until you have submitted all your answers.  Class participation: 20% . Students must participate in the weekly discussion board activity. The discussion board sessions are asynchronous and due at 23:00 EDT on Tuesdays (except for DB0 which dues at 23:00 Friday the first week). A set of questions will be posted at least one week in advance. Students must submit answers to the questions before the due time. Answers must contain at least ten sentences. Simply saying “Hello” or “I agree” does not count as participating in the discussion. You also have to respond to at least one other students’ post before the due time. Submission after due time will NOT be graded. . Each student need to participate in a survey at the end of the course (this course is developed under the support of NSF, and this survey is a requirement of the NSF funding). Data collected in the survey will only be used for statistical purpose only. Your answers in the survey will NOT affect your course grade in any way. However, not participating in the survey will reduce your participation grade. Penalties for late project submission:  0% before due date.  20% within one week.  Submission will NOT be graded if submitted one week after due date. Calculation of final grade:  A = 91-100%  B = 81-90%  C = 71-80%  D = 61-70%  F = 60% or less Summer 2008 Fayetteville State University Albert Chan CSC120 Syllabus Introduction to Programming Methodology Page 3 of 3

VII. Academic Support Resources  Most Windows computers in campus computer labs have Java JDK installed. These labs are available to all FSU students.  If you prefer to do your project assignments on your own computer, you must download and install Java JDK on your computer. You can download Java JDK from Sun Microsystems’ Java web site (http://java.sun.com).  Although not absolutely necessary, you may want to install an integrated development environment (IDE). There are many such IDEs available; some are free, some are not. The following is a partial list of such IDEs: . BlueJ (http://www.bluej.org) . JCreator (http://www.jcreator.com) . JGrasp (http://www.jgrasp.org) . NetBeans (http://java.sun.com) Note that we do not endorse any of the above IDEs.

VIII. Course Outline and Schedule The following is a tentative schedule (note that this is an eight-week course): Date / Chapter / Slides Reading Lecture Video Quizzes / Tests Projects / Discussion Boards Week 1: May 20 - May 23 Introduction §1.1-1.2 Administration Quiz 0 DB0 due Friday §1.1-1.4 §1.3-1.4 Chapter 1: Introduction §1.5-1.6 Week 2: May 26 - May 30 §1.5-1.8 §1.7-1.8 Chapter 1: Introduction Quiz 1 DB1 due Tuesday §2.1-2.4 §2.1-2.2 Chapter 2: Using Objects §2.3-2.4 §2.5-2.7 Week 3: June 02 - June 06 Quiz 2 §2.5-2.10 §2.8-2.10 DB2 due Tuesday Chapter 2: Using Objects Test 1 §3.1-3.4 §3.1-3.2 Project 1 due Friday Chapter 3: Implementing Classes (Chapters 1 & 2) §3.3-3.4 §3.5-3.6 Week 4: June 09 - June 13 §3.5-3.8 §3.7-3.8 DB3 due Tuesday Chapter 3: Implementing Classes Quiz 3 §4.1-4.4 §4.1-4.2 Project 2 due Friday Chapter 4: Fundamental Data Types §4.3-4.4 §4.5-4.6 Week 5: June 16 - June 20 Quiz 4 §4.5-4.7 §4.7 DB4 due Tuesday Chapter 4: Fundamental Data Types Test 2 §5.1-5.2 §5.1 Project 3 due Friday Chapter 5: Decisions (Chapters 3 & 4) §5.2 §5.3 Week 6: June 23 - June 27 §5.3-5.5 §5.4-5.5 DB5 due Tuesday Chapter 5: Decisions Quiz 5 §6.1-6.4 §6.1-6.2 Project 4 due Friday Chapter 6: Iteration §6.3-6.4 §6.5 Week 7: June 30 - July 03 Quiz 6 §6.5-6.7 §6.6-6.7 Chapter 6: Iteration Test 3 DB6 due Tuesday §7.1, 7.4-7.5 §7.1 Chapter 7: Arrays (Chapters 5 & 6) §7.4-7.5 Quiz 7 Week 8: July 07 - July 11 §7.6-7.7 §7.6-7.8 Final Examination Project 5 due Monday Chapter 7: Arrays §7.8 (Chapters 1-7) Week 9: July 14

End of Course Survey

IX. Teaching Strategies The teaching strategies for this course will be mainly self study and online discussion board sessions.

X. Bibliography  Malik and Nair, “Java Programming: From Problem Analysis To Program Design,” Thomson Course Technology, 2003.  Savitch, “Java An Introduction To Problem Solving & Programming,” 4th edition, Prentice Hall, 2005.