CS 1440
Spring 2007 - Course Syllabus

Professor: Dr. Rahman Tashakkori - email: rt@cs.appstate.edu, personal e-mail and chat: r.tashakkori@gmail.com
Office: CAP 121, Office Phone: 262-7009
Office Hours: MWF 10:00-12:00, T 11:00-12:00.
Class Time/Location: MWF 9:00-9:50 Room 337 CAP
Final Exam: Friday, April 27, 2007 from 9:00 AM - 11:30 AM 
Course Description
This is a first course in computer programming using the Java programming language. Students are introduced to the foundational concepts of programming following the object-oriented paradigm. The course provides both training in general programming concepts and practical object-oriented programming skills using Java.

Some of the Topics
Topics covered include the departmental computing environment, problem solving, object-oriented modeling and program design, the Java programming language (a subset), and testing and debugging of Java programs. We will plan to cover chapters 1 through 10 of the textbook, and introduce topics as they are motivated by problems. This course is not only about a learning a programming language, but also about problem solving. Students will exercise and extend their problem analysis and solving ability throughout the course.

MAT 1020 or MAT 1025 or equivalent with a grade of C- or higher

Required Texts
The course text is: Objects First with Java: A Practical Introduction Using BlueJ, 3rd Edition by David Barnes and Michael Kölling. All students must have their own copy of this text (it comes with a CD containing the software used for the course).

Grading Policy

Lab assignments 30%
Programming assignments 10%
Exam 1 and Exam 2 (15 % each)
Class Attendance and Pop Quizzes 10%
Final Exam 20%

Important Notes:

  1. The prerequisite for CS2440, the next course, is C or better in CS1440. A grade C- is too low to satisfy the requirement of the next course.

  2. You must have a passing grade for BOTH the Lab and Lecture (tests, quizzes, programming projects, final exam) to pass the course. In other words, if you fail the lab part of the course, you will fail the course.

Grading Scale
A = 90 to 100 , B = 80 to 89 , C = 70 to 79 , D = 60 to 69 , F = Below 60

There will be a quiz every Friday that class meets.  Also, I may give pop quizzes on Mondays or Fridays. These will be short and cumulative, and will cover material that you should have read and/or is discussed in class. One quiz grade may be dropped.

Attendance and Academic Integrity
Students are required to attend all classes. Each unexcused absence will result in a 3 point drop from the final grade. Students with more than 6 absences will fail the course. No make-up exams will be given in this course. If you missed an exam due to an "extreme circumstances" such as illnesses, death of a relative, or problems of this nature, you have to present documents (e.g. a letter from a doctor, a letter from a hospital, or an obituary from the funeral). In such cases, student's final exam's grade will be used for the missed exam.

All assignments are due before the start of the class on the due date. No assignment will be accepted once the solution is discussed in the classroom. All assignments and programs MUST be completed by students individually unless the assignment or project is given as a team project. In such a case, the team members can work together on the project. You may discuss the assignments and programs among each other but you have to write/edit programs by YOURSELF. Please see the ASU Academic Integrity Policy for a description of the woes that befall a transgressor!

All labs are carefully designed to help you develop their programming and problem solving skills. You are required to attend all labs. A student with 3 missed labs will receive a failing grade for the course. Each lab has a "pre-lab" part that must be completed prior to the lab session and turned in at the beginning of the lab.

Getting Help

I will encourage all students to check the Mentroing/Tutoring corner's schedule. We have graduate students and CSEMS scholars helping their peers at different time of the day. These help sessions are very valuable.
It is often beneficial for students to discuss programming strategies and ideas for their programs. You are encouraged to do this, BUT:

  1. You must edit your own program.
  2. Do not give your password to others so that they can "look" at your code.
  3. Never use code that someone else has written.

It is easy to tell when you copy another's work. Copying will be dealt with according to the ASU Code of Academic Integrity.