CS101 03 Introduction to Programming -- fall, 2013

Contents

General Information

Instructor:

        Jiang B. Liu, jiangbo@bradley.edu
        Professor of Computer Science & Information Systems
        Phone: (309) 677-2386
Prerequisites:
       MTH 109 or MTH 112 or equivalent
Lecture:
        1:00-2:45 pm, Mon, Wed. at BR 180
Office Hours:
        3:00-4:30pm Mon, Tues, Wed, Thur. at BR 177
        or by appointment.

Course Materials

Topic Schedule

This course introduces the fundamental concepts of programming from an object-oriented perspective. Topics include simple data types, control structures (if-else, loops, switch statements), introduction to array and string data structures, algorithms, debugging and testing techniques, and social implications of computing. The course emphasizes good software engineering principles and practices, breaking the programming process into analysis, design, implementation, and testing, with primary focus on implementation and development of fundamental programming skills. The project assignments will be coded in Java and tested in an IDE Integrated Development environment such as Netbean.
 

Unit 1

1. Introduction to Programming 
- The Java programming language  and Java IDE
- Programming development, problem solving, and software development activities 
- Object oriented programming

Ch. 1

Unit 2

2. Data and Expressions
- Variables and Character strings, and primitive data types 
- Assignment and expressions
- Data conversion 
- Reading input data 

Ch. 2

Quiz #1

Unit 3

3. Using Classes and Objects 
- Objects, classes, and packages 
- String class, Random class, and Math class

- Formatting output 
- Enumerated types, wrapper classes

Ch. 3

Unit 4

4. Conditionals and Loops
- Boolean Expressions and comparing data
- if, if-else statements and switching statement
- while, do, for statements and iterators

Ch 4

Quiz #2

Midterm Exam

Unit 5

5. Writing Classes 
- Anatomy of a class and anatomy of a method

- Encapsulation

- Static class members, class relationships

- Method design and overloading

- Testing and Debugging

Ch. 5

Unit 6

6. GUIs 
- GUI elements, GUI components
- Layout managers
- Mouse events and Key events

- Dialog boxes

- GUI design and design issues

Ch. 6

Unit 7

7. Arrays
- Array elements, array of objects

- Declaring and using arrays
- Command-line arguments and variable-lone parameter lists
- Two-Dimensional arrays

Ch. 7

Quiz #3

Unit 8

8. Inheritance

- Creating subclasses, overriding methods

- Class hierarchies

- Visibility and design for inheritance

Ch. 8

Unit 9

9. Polymorphism

- Dynamic Binding
- Polymorphism via inheritance
- Interfaces and Polymorphism via interfaces
- Protection Mechanisms

Ch. 9

Unit 10

10. Exceptions

- Exception Handling and Uncaught Exceptions

- The try-catch statement and I/O exceptions

- Exception Propagation and the Exception Class Hierarchy

Ch. 10

Quiz #4

Final Exam on Thursday, Dec. 12, 2013 from 12-2pm.

Grading

·         Assignments:         10% (7 assignments)

·         Quizzes:                 25% (4 quizzes)

·         Midterm Exam:      25% (1 midterm exam)

·         Final Exam:           40% (1 comprehensive final exam)

(100-90 A; 89-80 B; 79-70 C; 69-60 D; below 60 F)

Policies & Procedures

All reading assignments, homework assignments, lecture presentations, and grades will be posted to the class web page. Students are encouraged (and expected) to attend all classes and participate in all class activities. Students are expected to act professionally at all times.

 

1. Attendance: Regular attendance is expected. It is the student’s responsibility to notify the instructor when a class will be missed. If you know of a conflict ahead of time, you should plan accordingly and submit assignments early.

2. Assignments: Assignments should be submitted before the due date. If an assignment is submitted after the due date, it will be subjected to a 10% grade reduction penalty. Assignments will not be accepted more than 24 hours after the due date under any circumstance. Assignments must be submitted electronically via Sakai and will not be accepted in any other format.

3. Exams/Quizzes: Exams and quizzes must be taken on the scheduled dates. The student will receive no points for an exam or quiz if it is not taken on the scheduled date, unless the student has received approval from the instructor due to extremely special circumstances. In the rare case that a make-up quiz or exam is given, it is the student’s responsibility to make the appropriate arrangements with the instructor to have a test administered.

4. Integrity: Plagiarism and cheating are serious offenses and will be punished by failure on the exam, paper, or project in question; and the student will also be reported to the Center for Residential Living and Leadership. If the assignment is a final assignment, it will also result in failure in the course. For more information, refer to the academic catalog and student handbook. According to the student handbook:

·         "Cheating is officially defined as giving or attempting to give, obtaining or attempting to obtain, information relative to an examination or other work that the student is expected to do alone and not in collaboration with others..."

·         "A Zero, or whatever is the equivalent of the lowest failing grade possible, shall be assigned for that piece of work to any students cheating on a non-final examination or other piece of work."

·         "According to University Senate rules, all occasions of cheating and plagiarism must be reported to the Executive Director of the Center for Residential Living and Leadership..."

 

You may freely give and receive help with the computer facilities, editors, debugging techniques, the meaning and proper use of the Java language, and general concepts covered in the class. You should not discuss your design or implementation of the assignments with any classmate (other than your partner) until after they are graded. In particular, you should not view another person's program, or allow someone (other than your partner) to view any part of your program before the assignment has been graded. Obviously, copying any part of another person's program or allowing your program to be copied is not permitted. A variety of methods will be used to detect copying.

 

ALWAYS CITE YOUR SOURCES! If you consult with any source (other than the textbook or the instructor) to complete an assignment, you should credit that source with a citation. Sources that should be cited include friends, tutors, websites, and any books other than the textbook. You should never consult with a classmate (other than your partner) to complete an assignment. A friend or tutor should never complete an assignment for you. You should never copy and paste large segments of code from a website. It is sometimes acceptable to copy small segments of code from a website, but the website should be credited with a citation.

Some assignments will be assigned as individual assignments, and some will be assigned as group assignments. For group assignments, all group members are expected to collaborate equally. It is not acceptable for a single person to complete an assignment that is meant to be completed as a group.

 

General Education: This course satisfies a Bradley University general education requirement in the Fundamental Concepts in Science (FS) category. The science component of general education focuses on developing scientifically literate college graduates. To achieve this goal students should be able to

 

• understand essential scientific principles sufficiently to formulate questions and hypotheses;

• make scientific observations and organize, interpret and analyze the data to address the questions and test the hypotheses;

• reach scientific conclusions concerning the questions and hypotheses;

• communicate the results of the scientific process;

• understand the impact of science on civilization.