CPSC1301 – Computer Science I
Class Meets: MWF 9:00-9:50 a.m. in Center for Commerce and Technology 208

Instructor(s): Dr. Wayne Summers
Office: CCT 455                                                          Office phone: (706) 568-3057
Department phone: (706) 568-2410                           Department FAX: (706) 565-3529
Office Hours:
MTWRF 10:00-11:00 a.m.; via e-mail, WebCT discussions and by appointment
e-mail address: summers_wayne@ColumbusState.edu
homepage:http://csc.ColumbusState.edu/summers/

Catalog Description of Course: Co-requisite: CPSC 1301L. This course includes an overview of computers and programming; problem solving and algorithm development; simple data types; arithmetic and logic operators; selection structures; repetition structures; text files; arrays (one-and-two-dimensional); procedural abstraction and software design; modular programming (including sub-programs or the equivalent). (3 credits).

Required Textbook(s):

Java Software Solutions: Foundations of Program Design, 5/E by John Lewis & William Loftus,

ISBN: 0-321-40949-3, Addison-Wesley

View Larger Cover Image

Supplementary Books and Materials

  • MyCodeMate Companion Website, 5/E
  • Java Backpack Reference Guide
  • WebCT materials
  • Class handouts & notes
  • Software and manuals found in the computer labs and on the Internet

Software
To complete all lessons, assignments, labs, and tests, you will need to access a computer with:

  • Windows 2000/XP, Firefox or Internet Explorer, and PowerPoint
  • Java 2 Platform, Standard Edition (J2SE)
  • Java IDE (DrJava/BlueJ/Crimson Editor/Borland JBuilder/Eclipse)
  • Java Source Code and Program Files from the textbook CD-ROM

Supplementary information for the course is available from the publisher at http://www.aw-bc.com/catalog/main_content/0,1151,-11,00.html. Answers to the end of chapter review questions and student assignment files also can be obtained from the Web Site.

The class material will be available via WebCT Vista at https://d.view.usg.edu/webct/logonDisplay.dowebct?insId=2609232&glcid=131.96.160.58-1047412837539-4479201001&insName=Columbus%20State%20University. This Web Site will contain class notes, class announcements, exam summaries, the course syllabus, test dates, and additional links. 

Course Material Downloads

To download Java SDK: http://java.sun.com/j2se/1.5.0/download.jsp
To download Crimson Editor: http://crimsoneditor.com
To download Blue J: http://www.bluej.org/download/download.html
To download Text Pad: http://www.textpad.com/download/index.html

 

Objectives

  1. Students will have an understanding of computing and computer science.
  2. Students will have an understanding of computers and how they work.
  3. Student will learn the architecture of computers, machine code, and high-level languages.
  4. Students will be able to analyze the requirements of a problem.
  5. Students will be able to design algorithms to solve moderately complex problems.
  6. Students will learn the syntax and structure of the Java computer programming language.
  7. >Students will learn to use the Java SDK to develop programs.
  8. Students will learn

a)      how to work with Integrated Development Environments (IDEs),

b)      how to develop Java program with an Editor,

c)      how to compile a Java program,

d)      how to run a Java program, and

e)      how to debug Java programs.

  1. Students will understand how to develop and use the main Java building blocks: data types, variables, constants, expressions, and arithmetic operators
  2. Students will learn the structure of Java classes, constructors, calling methods, and how to use Java predefined classes
  3.  Students will learn about applets, applet structure, applet execution, and hoe to develop applets
  4.  Students will learn about flow of control: forming conditions, if, if/else, if/else if, comparing numbers and objects, conditional operator (?:), and switch statement
  5.  Students will learn how to develop looping control structures: event-controlled loops (while and do/while statements), count-controlled loops (for statement), and nested loops
  6.  Students will learn how to develop user-defined classes: defining a class, instance variables, class methods, constructors, object reference this, graphical objects, creating packages, and Java documentation
  7. Students will learn how to use simple data types (e.g. arrays) to solve problems.

 

Major Topics

  1. An Overview of Computers and Programming Langauges
  2. Basic Elements of Java
  3. Data and Expressions
  4. Graphics
  5. Applets
  6. Input/Output
  7. Using Classes and Objects
  8. Writing Classes
  9. Control Structures – Selection
  10. Control Structures – Repetition
  11. Object-Oriented Design
  12. Arrays and ArrayList Class

 

Instructional Methods and Techniques

  1. The class will meet for three fifty minute lecture / discussion periods each week.
  2. Each student is expected to attend all class lectures, to read the textbook chapters and to make notes. Students will be expected to participate in classroom discussions, both in class and online.
  3. Students must have access to computers for doing assignments.
  4. The ACM recommends the following: “As a general guideline, the amount of out-of-class work is approximately three times the in-class time. Thus, a unit that is listed as requiring 3 hours will typically entail a total of 12 hours (3 in class and 9 outside).” Students will be expected to spend this time outside class reading the book, online materials and other materials; writing solutions to homework exercises and programming projects.

How to Access the Course

This course includes WebCT Vista. You can access WebCT Vista at: http://webct.ColumbusState.edu/

At this page, select the "Log on to" WebCT Vista link to activate the WebCT Vista logon dialog box, which will ask for your WebCT> Vista username and password. Your Vista WebCT username and password are:

<Username: lastname_firstname
Password: XXXX

Default password is your birthday in the format of DDMMYY.

If you try the above and WebCT Vista will not let you in, please use the "Comments/Problems" link on the WebCT Vista home page to request help. If you are still having problems gaining access a day or so after the class begins, please e-mail me immediately.

Once you've entered WebCT Vista, you will see a list of courses you have access to. The CPSC 1301 course is listed as "Computer Science 1" Next to this, you should see my name as the instructor. You may also see new discussion postings, new calendar postings, and new mail messages. Clicking on the name of the course will take you to the course's home page. If you don't see the "Computer Science 1" course in the list, please e-mail me immediately.

Once you have clicked on the course's name and accessed the particular course itself, you will find a home page with links to other sections and tools, and a menu on the left-hand side. Feel free to explore the areas in the course.

Website
It is your responsibility to frequently look at the course website to keep your knowledge of class activities current. For this course, the website is at
http://csc.ColumbusState.edu/summers/. I may occasionally forget to announce details in class, but they may have been already posted on the site. If so, you will still be held responsible for them. For example, assignment due dates, corrections of errors, announcements, exam dates, changes to policies, and so on. 

Online Discussions
To maximize your learning, you are encouraged to participate actively in the online discussions. The responses to other students' postings should add to the substance of the posting, request clarification, provide a different perspective, or challenge the assertions made by providing real or hypothetical scenarios that the original posting does not adequately address. Remember, the purpose of course discussions is to stimulate academic debate. Critical thinking is highly desirable! There is, of course, no upper limit on the amount of discussion in which you can be involved in. I will read every response and every comment, but I will not necessarily respond to every response or to every comment. I will, however, interject comments where necessary for clarification.

Discussion Etiquette

CSU is committed to open, frank, and insightful dialogue in all of its courses. Diversity has many manifestations, including diversity of thought, opinion, and values. Students are encouraged to be respectful of that diversity and to refrain from inappropriate commentary. Should such inappropriate comments occur, I will intervene as I monitor the dialogue in the discussions. I will request that inappropriate content be removed from the discussion and will recommend university disciplinary action if deemed appropriate. Students as well as faculty should be guided by common sense and basic etiquette. The following are good guidelines to follow:

  • Never post, transmit, promote, or distribute content that is known to be illegal.
  • Never post harassing, threatening, or embarrassing comments.
  • If you disagree with someone, respond to the subject, not the person.

Never post content that is harmful, abusive; racially, ethnically, or religiously offensive; vulgar; sexually explicit; or otherwise potentially offensive.

 

Student Responsibilities

As a student in this course, you are responsible to:

  • manage your time and maintain the discipline required to meet the course requirements,
  • come to class prepared to ask questions to maximize your understanding of the material,
  • complete all readings,
  • complete all assignments,
  • complete all quizzes and exams,
  • actively participate in discussions,
  • submit the “one-minute paper” after each class, and
  • read any e-mail sent by the instructor and respond accordingly.

“I didn’t know” is not an acceptable excuse for failing to meet the course requirements. If you fail to meet your responsibilities, you do so at your own risk.

 

Instructor Responsibilities

As your instructor in this course, I am responsible to:

  • lead the class discussion and answer students’ questions,
  • post weekly lessons outlining the assignments for the week,
  • read all responses to discussion questions and comments to responses,
  • actively participate in discussions when necessary,
  • respond to students questions and concerns expressed in the “one-minute paper”, 
  • grade assignments, quizzes, and exams, and post scores within one week of the end of the week in which they are submitted, and
  • read any e-mail sent by the you and respond accordingly within 48 hours.

Although I will read every posted discussion question and response, I will not necessarily respond to every post. 

 

Student Web Server Space

There may be times when you will want to use an actual Web server in response to discussion questions, for assignments, or for projects. All currently enrolled CSU students (including online students) can request free Web server space on the CSU student Web server. Simply go to http://students.ColumbusState.edu and click on the "Free Web Pages" icon. Then click on the link to request the account. Under normal circumstances, the account and space will be created in a matter of seconds. This server is also .NET capable.

Assignments for Course

  • Readings from the textbooks
  • Online materials available through WebCT
  • Outside reading from popular computing periodicals is expected to enhance your knowledge of Computer Science
  • <Readings from documents found on the Internet
  • Several assignments

 

Assessment Criteria

  • Assignments (300 pts.) – due before class starts
    • For each assignment, students will be expected to analyze requirements of the problem, design the algorithm and implement the algorithm by coding it into a Java program. Assignments will focus one or more of the learning objectives. Assignments are due at the beginning of the class period of the due date. Assignments turned in after those times are considered late. Late assignments are not accepted for any reason. Programs should be submitted to me by e-mail.  Include your program source code as an attachment.
  • Quizzes (200 pts.) [lowest two quizzes will be dropped]
  • One midterm test (100 pts.)
  • One comprehensive FINAL EXAM (200 pts)
    • Quizzes and exams will assess whether students have an understanding of computers and how they work. Students will be expected to analyze the requirements of a problem, design the algorithm and code the solution in Java on the exam.  Midterm and final exams test material from the lectures, readings and programming exercises. The exams will include multiple choice, fill in the blanks, short answer questions and programming questions (you will be asked to write code). All exams are closed book, closed notes, no calculators. If you miss any quiz or exam or are absent for that class, it will not be made up.
  • CLASS PARTICIPATION – will be considered for students who are on the borderline between two grades

A (90-100): The student fulfills or exceeds all of the assigned content requirements. The student’s knowledge of the subject is accurate throughout. The student exhibits convincing range and quality of knowledge, having done appropriate research, if applicable.

B (80-89): The student fulfills all of the important assigned content requirements. The student’s knowledge of the subject is accurate throughout except in minor details. The student seems informed on the subject, having done appropriate research, if applicable

C (70-79): The student fulfills most of the important assigned content requirements. The student’s knowledge of the subject is generally accurate, though flawed. The student exhibits limited range or quality of knowledge, having done limited appropriate research, if applicable.

D (60-69): The student fulfills some of the important assigned content requirements. The student’s knowledge of the subject is generally accurate, though flawed. The student exhibits limited range or quality of knowledge, having done minimal appropriate research, if applicable.

F (0-59): The student fails to address the important requirements of the course.
The student’s knowledge of the subject is generally inaccurate. The student’s knowledge of the subject lacks range or quality

 

Class Attendance: Class attendance is the responsibility of the student, and it is the student's responsibility to independently cover any materials missed. Class attendance and participation may also be used in determining grades. It is your responsibility to sign a roll sheet for every class meeting. At my discretion, I may drop you from the course for more than 6 absences. Missing an exam or quiz is considered an absence. Missed classes caused by participation in documented, formal, University-sponsored events will not count as absences provided you notify me of such anticipated absences in advance and as soon as possible.

You are responsible for all class work missed, regardless of the reason for the absence(s). Late assignments will not be accepted, so if you are absent on the day an assignment is due, it is your responsibility to make alternate arrangements. No makeup exams or quizzes will be given, so please make sure you are present for all exams/quizzes. Refer to the CSU Catalog (http://aa.ColumbusState.edu/advising/a.htm#Absence Policy) for more information on class attendance and withdrawal.

 

Academic dishonesty
Academic dishonesty includes, but is not limited to, activities such as cheating and plagiarism. It is a basis for disciplinary action. Collaboration is not permitted on assignments or exams/quizzes in this course. Any work turned in for individual credit must be entirely the work of the student submitting the work.
All work must be your own. You may share ideas but submitting identical assignments (for example) will be considered cheating. You may discuss the material in the course and help one another with debugging, however, I expect any work you hand in for a grade to be your own. . A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately.

For assignments, access to notes, textbook, books and other publications is allowed. Stealing, giving or receiving any code, diagrams, drawings, text or designs from another person (CSU or non-CSU) is not allowed. Having access to another person’s work on the system or giving access to your work to another person is not allowed. It is your responsibility to keep your work confidential.

No cheating in any form will be tolerated. The penalty for the first occurrence of academic dishonesty is a zero grade on the assignment or exam/quiz; the penalty for the second occurrence is a failing grade for the course. For exams/quizzes, access to any type of written material or discussion of any kind (except with me) is not allowed. (http://aa.ColumbusState.edu/advising/a.htm#Academic Dishonesty/Academic Misconduct

Getting help
Student assistants in the Computer Center can help you with basic computer-related problems such as logging on to the network, saving your work, etc., but they are not obligated to help you with your assignments. There are several tutors at the Department of Computer Science who can help you with the assignments. Their schedule is posted in the Computer Science department. You can always contact me during my posted office hours, by e-mail, or by appointment.

 

CSU ADA statement
If you have a documented disability as described by the Rehabilitation Act of 1973 (P.L. 933-112 Section 504) and Americans with Disabilities Act (ADA) and would like to request academic and/or physical accommodations please contact Joy Norman at the Office of Disability Services in the Center for Academic Support and Student Retention, Tucker Hall (706) 568-2330, as soon as possible. Course requirements will not be waived but reasonable accommodations may be provided as appropriate.


COURSE OUTLINE (tentative)

DATE

Chapter / Description

Assignments

Week 1:

(August 18)

1 Introduction

1.1 Computer Processing

1.2 Hardware Components

 

Week 2:

(August 21-25)

1.3 Networks

1.4 Java Programming Language

1.5 Program Development

1.6 Obj.-Oriented Prog.

QUIZ 1

Week 3:

(Aug. 28-Sept. 1)

2.1 Character Strings

2.2 Variables and Assignments

2.3 Primitive Data Types

2.4 Expressions

2.5 Data Conversion

2.6 Interactive Programs

QUIZ 2

“Shopping Assignment” due 9/1

Week 4:

(September 4-8)

Labor Day Holiday (9/4)

2.7 Graphics

2.8 Applets

2.9 Drawing Shapes

QUIZ 3

Week 5:

(September 11-15)

3.1 Creating Objects

3.2 String Class

3.3 Packages

3.4 Random Class

3.5 Math Class

3.6 Formatting Output

QUIZ 4

PROGRAMMING ASSIGNMENT 1 due 9/13

Week 6:

(September 18-22)

3.7 Enumerated Types

3.8 Wrapper Classes

3.9 Components and Containers

3.10 Nested Panels

3.11 Images

QUIZ 5

Week 7:

(September 25-29)

4.1 Classes and Objects

4.2 Anatomy of a Class

4.3 Encapsulation

4.4 Anatomy of a Method

4.5 Constructors Revisted

4.6 Graphical Objects

QUIZ 6

Week 8:

(October 2-6)

4.7 Graphical User Interfaces

4.8 Buttons

4.9 Text Fields

REVIEW

MIDTERM EXAM

PROGRAMMING ASSIGNMENT 2

due 10/4

Week 9:

(October 9-13)

5.1 Boolean Expressions

5.2 if Statement

Last Day to Drop = 10/10/2006

5.3 Comparing Data

5.4 switch statement

Fall Break (10/12-13)

 

Week 10:

(October 16-20)

5.5 while Statement

5.6 Interators

5.7 do Statement

5.8 for Statement

QUIZ 7

Week 11:

(October 23-27)

5.9 Drawing with Loops and Conditionals

5.10 Determining Event Sources

5.11 Dialog Boxes

5.12 More Button Components

QUIZ 8

PROGRAMMING ASSIGNMENT 3

due 10/27

Week 12:

(Oct. 30 – Nov. 3)

6.1 Software Development

6.2 Identifying Classes and Objects

6.3 Static Class Members

6.4 Class Relationships

6.5 Interfaces

QUIZ 9

Week 13:

(November 6-10)

6.6 Enumerated Types

6.7 Method Design

6.8 Method Overloading

6.9 Testing

QUIZ 10

Week 14:

(November 13-17)

6.10 GUI Design

6.11 Layout Managers

6.12 Borders

 

6.13 Containment Hierarchies

7.1 Array Elements

QUIZ  11

PROGRAMMING ASSIGNMENT 4

due 11/15

Week 15:

(November 20-24)

7.2 Declaring and Using Arrays

7.3 Arrays of Objects

Thanksgiving Holiday (11/22-24)

 

Week 16:

(Nov. 27 – Dec. 1)

7.4 Command-Line Arguments

7.5 Variable Length Parameters Lists

7.6 Two-Dimensional Arrays

7.7 The ArrayList Class

QUIZ 12

Week 17:

(December 4-8)

7.8 Polygons and Polylines

7.9 Mouse Events

7.10 Key Events

REVIEW

PROGRAMMING ASSIGNMENT 5

due 12/4

Week 18:

(December)

FINAL EXAM

 

 

 


Please return the following information to me as soon as possible.

 

CPSC 1301 (CRN 81291) Fall 2006

 

Student’s name: ___________________________________ (please print)

 

Where can I reach you in case it becomes necessary? **

 

Email address that you use regularly: _____________________________________

 

Phone number(s): ____________________________________________________

 

Declaration: I have read, understood and agree to abide by the policies mentioned in the syllabus pertaining to the course. In particular, I agree to abide by the assignment policy/late work policy, attendance policy, academic dishonesty policy, website policy and exam policy.

 

(You must sign and date below).

 

Signature: _______________________________ Date: ________________

 

** Optional information