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-5037
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

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

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/
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 Languages
  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 and/or in WebCT. 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 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:

“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:

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

Assessment Criteria

 

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:

(January 8-12)

1 Introduction

1.1 Computer Processing

1.2 Hardware Components

1.3 Networks

1.4 Java Programming Language

1.5 Program Development

QUIZ 1

Week 2:

(January 16-19)

MLK Day Holiday (1/15)

1.6 Obj.-Oriented Prog.

2.1 Character Strings

2.2 Variables and Assignments

2.3 Primitive Data Types

QUIZ 2

“Shopping Assignment” due 1/19

Week 3:

(January 22-26)

2.4 Expressions

2.5 Data Conversion

2.6 Interactive Programs

2.7 Graphics

2.8 Applets

2.9 Drawing Shapes

QUIZ 3

Week 4:

(Jan. 29 – Feb. 2)

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 1/31

Week 5:

(February 5-9)

3.7 Enumerated Types

3.8 Wrapper Classes

3.9 Components and Containers

3.10 Nested Panels

3.11 Images

QUIZ 5

Week 6:

(February 12-16)

4.1 Classes and Objects

4.2 Anatomy of a Class

4.3 Encapsulation

4.4 Anatomy of a Method

4.5 Constructors Revisited

4.6 Graphical Objects

QUIZ 6

PROGRAMMING ASSIGNMENT 2 due 2/14

Week 7:

(February 19-23)

4.7 Graphical User Interfaces

4.8 Buttons

4.9 Text Fields

REVIEW

MIDTERM EXAM

 

Week 8:

(Feb 26- Mar. 2)

5.1 Boolean Expressions

5.2 if Statement

Last Day to Drop = 3/1/2007

5.3 Comparing Data

5.4 switch statement

 

QUIZ 7

Week 9:

(March 5-9)

SPRING BREAK

Week 10:

(March 12-16)

5.5 while Statement

5.6 Interators

5.7 do Statement

5.8 for Statement

QUIZ 8

PROGRAMMING ASSIGNMENT 3 due 3/14

Week 11:

(March 19-23)

5.9 Drawing with Loops and Conditionals

5.10 Determining Event Sources

5.11 Dialog Boxes

5.12 More Button Components

QUIZ 9

Week 12:

(March 26-30)

6.1 Software Development

6.2 Identifying Classes and Objects

6.3 Static Class Members

6.4 Class Relationships

6.5 Interfaces

QUIZ 10

PROGRAMMING ASSIGNMENT 4

due 3/28

Week 13:

(April 2-6)

6.6 Enumerated Types

6.7 Method Design

6.8 Method Overloading

6.9 Testing

QUIZ  11

 

Week 14:

(April 9-13)

6.10 GUI Design

6.11 Layout Managers

6.12 Borders

 

6.13 Containment Hierarchies

7.1 Array Elements

QUIZ 12

PROGRAMMING ASSIGNMENT 5

due 4/11

Week 15:

(April 16-20)

7.2 Declaring and Using Arrays

7.3 Arrays of Objects

7.4 Command-Line Arguments

7.5 Variable Length Parameters Lists

QUIZ 13

Week 16:

(April 23-27)

7.6 Two-Dimensional Arrays

7.7 The ArrayList Class

7.8 Polygons and Polylines

7.9 Mouse Events

7.10 Key Events

QUIZ 14

PROGRAMMING ASSIGNMENT 6

due 4/25

Week 17:

(April 30)

REVIEW

Week 18:

(Friday – May 4)

FINAL EXAM (8-10 a.m.)

 

 


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

 

CPSC 1301 (CRN 21229) Spring 2007

 

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