CPSC 1301L - Khan

advertisement
CPSC1301L CRN 81244 – Computer Science I Lab
Fall Semester 2009
Class Meets: Tuesdays & Thursdays 4:30-5:45 p.m. in Center for Commerce
and Technology, Room CCT409
For access to course Website in CougarView visit:
https://colstate.view.usg.edu
Instructor Details:
Name: Dr. Shamim Khan
Office: Center for Commerce and Technology (CCT) Room 444
Office hours:
Monday-Thursday 9.30 AM-12 PM
If you are unable to see me during these hours, please make an
appointment.
Email: khan_shamim@colstate.edu (preferred method of contact)
Website: http://csc.colstate.edu/khan
Office Phone: 706/565-3519; Dept. Phone: 706/568-2410
Catalog Description of Course: Co-requisite: CPSC 1301. This course
provides a hands-on experience for the students in the area of programming as a
realization of the concepts presented in Computer Science 1. The students will
complete programming projects using one or more program development
environments. The lab projects will apply and reinforce the topics covered in
Computer Science 1. (1 credit).
Required Textbook:
Java Software Solutions: Foundations of Program
Design, 6/E by John Lewis & William Loftus,
ISBN: 0321532058, Addison-Wesley
Supplementary Books and Materials:
Lab Manual, to accompany Java Software Solutions:
Foundations of Program Design, 6/E by John Lewis
& William Loftus,
ISBN-10: 0321532112, Addison-Wesley
1301 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/Vista, Firefox or Internet Explorer
Java 2 Platform, Standard Edition (J2SE)
A Java IDE (Crimson Editor/ BlueJ/ DrJava/ Eclipse. In the lab - we’ll use
BlueJ)
Java Source Code and Program Files from the Lewis & Loftus textbook.
Course Software Downloads
Java SE Development Kit (JDK) 6 Update 11:
http://java.sun.com/javase/downloads/index.jsp
Blue J: http://www.bluej.org/download/download.html
Crimson Editor: http://www.download.com/3000-2352_4-10328038.html
Course Objectives
The aim of this lab-oriented course is to provide hands-on experience with Java
to reinforce the theoretical knowledge gained in CPSC1301 Computer Science 1.
Successful completion of 1301 and 1301L should achieve the following
objectives:
1. Students will be able to analyze the requirements of a problem.
2. Students will be able to design algorithms to solve moderately complex
problems.
3. Students will learn the syntax and structure of the Java computer
programming language.
4. Students will learn to use the Java SDK to develop programs.
5. Students will learn
a) how to work with an Integrated Development Environment (IDE),
b) how to develop Java program with an Editor,
c) how to compile a Java program,
CPSC1301L Fall 2009
2
d) how to run a Java program, and
e) how to debug Java programs.
6. Students will understand how to develop and use the main Java building
blocks: data types, variables, constants, expressions, and arithmetic
operators
7. Students will learn the structure of Java classes, constructors, calling
methods, and how to use Java predefined classes
8. Students will learn about applets, applet structure, applet execution, and
how to develop applets
9. Students will learn about flow of control: forming conditions, if, if/else,
if/else if, comparing numbers and objects, conditional operator (?:), and
switch statement
10. Students will learn how to develop looping control structures: eventcontrolled loops (while and do/while statements), count-controlled loops
(for statement), and nested loops
11. 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
12. Students will learn how to use simple and structured 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
The lab will meet for two one-hour and fifteen minute periods each week.
1. Each student is expected to attend both labs, to read the relevant textbook
chapters and to make notes. Students will be expected to participate in
classroom discussions.
2. Students must have access to computers for doing assignments.
3. You will be expected to work in pairs. Pairs will be formed during the first
week of the semester and the pairing may change. Details on how this will
work will be given in the class during week 1.
CPSC1301L Fall 2009
3
How to Access the Course
This course includes CougarView. You can access CougarView at:
https://colstate.view.usg.edu
Click on the "Log-in" link to activate the CougarVIEW logon dialog box, which will
ask for your CougarVIEW username and password. Students who used
CougarVIEW in the previous semester will use the same passwords for the
current semester. New student passwords on CougarVIEW have been set to the
students birth date in the format of DDMMYY. (Example - Birthday of Oct. 25,
1978 is 251078).
If you try the above and CougarView will not let you in, please try the new Online
Support Center at:
(http://help8.view.usg.edu/ics/support/default.asp?deptID=8075 ) for CougarView
is available to you 24 hours a day, 7 days a week. If you have registered late, it
may take a day or two before you get added to the course in CougarView.
If you are still having problems gaining access a day or so after the class begins,
please e-mail me.
Once you've entered CougarView, you will see a list of courses you have access
to. The CPSC 1301L course is listed as "Computer Science 1" Next to this, you
should see my name as the instructor. You may also see new weekly assignment
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 "CPSC1301L 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.
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 assignments,
 read any e-mail sent by the instructor and respond accordingly,
 always include previous messages in any e-mail you send.
Lab Rules
During the class, you are not allowed to
 bring any food or drink into the lab
 use cell phones in the lab
 distract others by being noisy
 surf the Web or check email.
CPSC1301L Fall 2009
4
Violation of lab rules may result in a student being asked to leave the class and
considered absent from that class. You may leave class early if you have already
finished and submitted the assignment work for the lab session, but keep in mind
that you will be responsible for any missed clarifications or announcements given
by me after you leave.
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,
 grade lab assignments 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.
Assignments for Course
There will be a weekly assignment consisting of a number of programming
exercises. It will be made available to you each Tuesday in the class and online
through CougarView. It will be due by Thursday of the same week. You’ll submit
your work by using assignment drop boxes in CougarView.
Assessment Criteria
 Graded 14 Lab Assignments (14 × 50 = 700 pts.) –
o 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 turned in
after Wednesday are considered late. Late assignments are not
accepted for any reason. Submit your program source code as an
attachment through CougarView.
Grading scale
A: 90-100 %
F: below 60 %
B: 80-89 %
C: 70-79 %
D: 60-69 %
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 4 absences without an acceptable
reason. 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. If you are unable to be
present in the class and submit your assignment due to an unavoidable reason
such as approved events, illness or accident, you must contact me to make
alternate arrangements.
CPSC1301L Fall 2009
5
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.colstate.edu/advising/a.asp#AcademicDishonestyAcademicMisconduct)
Getting help
Student assistants in the Computer Center can help you with basic computerrelated 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 in lab CCT450 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 email, 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.
CPSC1301L Fall 2009
6
DATE
COURSE SCHEDULE (tentative and subject to change)
Chapter / Description
Assignments

Week 1:
(8/17 – 8/23)

Orientation – logging in,
CougarView
Introduction to the process of
software development, Java
Introduction to BlueJ




Prelab Exercises
Recognizing Syntax Errors
Correcting Syntax Errors
Poem



Prelab Exercises
Area and Circumference of a
Circle
Painting a Room
2 Data and Expressions
Last day to drop course
9/11/2009



Introduction to HTML
Drawing Shapes
Drawing a Face
2 Data and Expressions



Prelab Exercises
Working with Strings
Rolling Dice
3 Using Classes and Objects


Playing with Cards
Nested Panels
3 Using Classes and Objects



Prelab Exercises
Tracking Grades
Drawing Squares


Voting with Buttons
Calculating Body Mass Index



Prelab Exercises
Computing a Raise
Rock, Paper, Scissors




Prelab Exercises
Counting and Looping
More Guessing
Election Day
1 Introduction
1 Introduction
Week 2:
(8/24 – 8/30)
Week 3:
(8/31-9/6)
Week 4:
(9/7-9/13)
Week 5:
(9/14-9/20)
Week 6:
(9/21-9/27)
Week 7:
(9/28-10/4)
Week 8:
(10/5-10/11)
Week 9:
(10/12-10/18)
Week 10:
(10/19-10/25)
Week 11:
(10/26-11/1)
2 Data and Expressions
4 Writing Classes

4 Writing Classes (continued)
Monday, Oct 12 – Tuesday,
Oct 13: Fall break
5 Conditionals and Loops
5 Conditionals and Loops
(continued)
CPSC1301L Fall 2009
7
5 Conditionals and Loops
(continued)


Vote Counter, Revisited
A Pay Check Program
Week 13:
(11/9-11/15)
6 Object-Oriented Design



Changing People
Modified MiniQuiz Class
Flexible Account Class
Week 14:
(11/16-11/22)
6 Object-Oriented Design


Random Walks
Telephone Keypad
Week 15:
(11/23-4/29)
7 Arrays
November 25-29:
Thanksgiving holiday break

Tracking Sales
Week 16:
(11/30-12/6)
7 Arrays (continued)


Shopping Cart
Magic Squares
Week 12:
(11/2-11/8)
Important dates/holidays
First day of classes: Monday, August 17, 2009
Schedule change:
Drop/Add Courses
Add Courses only
Labor Day holiday (no classes, offices closed):
Last day to withdraw from the course:
Fall break (no classes):
Thanksgiving holiday break (no classes)
Last day of classes:
Final Examinations (Full Term Classes):
August 17-20
Wed, August 21
Mon, September 7
Fri, September 11
Mon, Oct 12–Tues, Oct 13
Nov 25-29
Mon, Dec 7
Dec 9-15
CPSC1301L Fall 2009
8
Download