CPSC 1302 Computer Science 2

Spring 2012

Dr. David Woolbright

CCT, Room 439

(706) 565-3524

Text: Big Java, Cay Horstman, 4th Edition, ISBN 978-0-470-50948-7

Course Catalog Description:CPSC 1302. Computer Science 2 (3-0-3)Prerequisite:CPSC 1301 and CPSC 1301L with a grade ofC or better. This course is a continuation of CPSC 1301 and emphasizes programming using object-oriented methods. The fundamentals used in designing, developing and using classes, encapsulation,inheritancemechanisms, polymorphism and dynamic binding are covered.

Course Objectives: This course is about learning to program in Java. I believe that learning to program well is fundamental to your success in Computer Science. Yes, we are trying to teach you fundamentals that are universal and independent of any programming language, but until you learn a single language well, you are ill-prepared to discuss these fundamentals or understand their importance. Languages are tools for thought, and until you master one, you will have trouble thinking like a computer scientist. So, I unapologetically state that this course is about learning to program in Java. In the process of learning Java we will talk about class design, interfaces, polymorphism, inheritance, recursion, and introductory concepts in data structures.

I also believe that the best way to learn a programming language is by writing programs. After all, how did you learn to speak English? By speaking it. Poorly at first, but you got better by practicing. The same idea applies to programming languages. Reading about Java, or listening to someone talk about Java isn’t enough. You have to engage in “speaking” Java by writing it. So this class will require you to write a lot of programs.

Grading: The course grade will be based on the programming projects, a mid-term examination, and a final examination. The course grade is determined using the following weights

Projects………...... 60%

Mid-term exam...... 20%

Final Exam...... 20%

Grading Scale / 90-100: / A / 80-90: / B / 70-80: / C / 60-70: / D / below 60: / F

Programming Projects: There will be a variable number of projects assigned during the semester to be handed in for a grade. You are encouraged to start on your projects immediately when assigned and get help from the instructor as needed.

Important: Projects are to be done individually. Do your own work. It won’t help you if someone else writes your programs. Don’t copy code – even small parts of it. You’ll just be missing out on an idea that you needed to work through yourself. Learning a language takes practice, and making mistakes is part of that process. In fact, making mistakes is how we learn languages. Each mistake you make is an opportunity for learning something new, or to reinforce an idea that you are stumbling over. Welcome the mistakes and learn from them. See the section on Academic Dishonesty below.

Late Policy for Projects: Unless otherwise specified, projects are to be turned in by midnight on the due date. Projects will not be accepted after the deadline. If you haven’t finished a project by the deadline, turn in the work you have completed.

Attendance Policy: You are expected to attend class regularly and participate. I will present something important in every class. Any student who misses 4 or more classes will be dropped from the class for excessive absences.

Make-up Policy: Everyone is expected to take exams at their scheduled times. Make-ups will be given only for legitimate, documented absences for whichthe instructor has been notified ahead of time.

Course Outcomes:

·  The students will demonstrate an understanding ofcomputing and computer science.

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computing and computer science.

§  Class discussion about what is computing and computer science.

o  ABET Criteria covered: A, E, and G

o  Program Objectives covered: 2

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate knowledge of computer programming concepts.

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

§  Read and writemoderately complexprograms in a programming language.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 2 and 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate knowledge of basic syntax of a specific programming language

o  Strategies and Actions used to produce the outcome:

§  Study of concepts of computer programming.

§  Study the API for the programming language.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 2 and 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate the ability to readmoderately complexprograms written in a specific programming language and understand what these programs do

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

§  Read and writemoderately complexprograms in a programming language.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 2 and 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate the ability to design algorithms utilizing the principles of object-oriented programming to solvemoderately complexproblems

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

§  Read and writemoderately complexprograms in a programming language.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate the ability to writemoderately complexprograms in a specific programming language to implement these algorithms

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate the ability to follow specified style guidelines in writing programs, and understand how the guidelines enhance readability and promote correctness in programs

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

o  ABET Criteria covered: A, B, C, and J

o  Program Objectives covered: 2 and 3

o  Assessment Methods: Programming Assignments and Exams.

·  The students will demonstrate the ability to edit, compile, debug and run programs in a specific programming language

o  Strategies and Actions used to produce the outcome:

§  Study concepts of computer programming.

o  ABET Criteria covered: A, B, and C

o  Program Objectives covered: 2 and 3

o  Assessment Methods: Programming Assignments and Exams.

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.htm#Academic Dishonesty/Academic Misconduct)
Getting help
Student assistants in theComputerCentercan 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.

Electronic Devices: All cell phones and pagers must be turned off prior to entering the classroom or lab. The use of any electronic device during a test or quiz is prohibited. This includes cell phones, handheld calculators,PalmPilots,Blackberrys,PocketPCs, and laptops. Any use of such a device during a test or quiz will be considered an act of academic dishonesty.

Computer Use Policies: All students must abide by the Lab Rules set forth by the Computer Information and Networking Services Department of Columbus State University which are listed at http://cins.colstate.edu/labs/lab_rules.asp. Violation of these policies can result in the loss of your lab privileges and possible involuntary withdrawal from the course.

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) that may require you to need assistance attaining accessibility to instructional content to meet course requirements, we recommend that you contact the Office of Disability Services in the Academic Support Center, Tucker Hall 100, or at (706) 568-2330, as soon as possible. It is then your responsibility to contact and meet with the instructor. The Office of Disability Services can assist you and the instructor in formulating a reasonable accommodation plan and provide support in developing appropriate accommodations for your disability. Course requirements will not be waived but accommodations may be made to assist you to meet the requirements. Technical support may also be available to meet your specific needs.

ABET Criteria:

A. An ability to apply knowledge of computing and mathematics appropriate to the discipline;

B. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;

C. An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs;

D. An ability to function effectively on teams to accomplish a common goal;

E. An understanding of professional, ethical, legal, security, and social issues and responsibilities;

F. An ability to communicate effectively with a range of audiences;

G. An ability to analyze the local and global impact of computing on individuals, organizations and society;

H. Recognition of the need for, and an ability to engage in, continuing professional development;

I. An ability to use current techniques, skills, and tools necessary for computing practice.

J. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;

K. An ability to apply design and development principles in the construction of software systems of varying complexity.

CS Program Objectives:

Our graduates will have achieved:

1)a broad general education assuring an adequate foundation in science and mathematics relevant to computing.

2)a solid understanding of concepts fundamental to the discipline of computer science.

3)good analytic, design, and implementation skills required to formulate and solve computing problems.

4)the ability to function and communicate effectively as ethically and social responsible computer science professionals.