Spring Semester
2006
Instructor: Mohammed Gaus
Alam Office: 229 Ayres Hall
Email: malam@jsu.edu Telephone: 782-5359
Office Hours:
Prerequisite: Mathematical completion (C or better) of College Algebra or higher level mathematics course or score as indicated by ACT enhanced minimum math score of 24 or SAT minimum math score of 520.
Textbook: 1) Programming & Problem Solving with C++ by
Dale/Weems/Headington 4th
ed.
Chapters 1 – 6 and chapter 9 ISBN 0-7637-0798-8
2) Essential
Computing Mathematics by Lipschutz (Schaum’s Outlines) Chapters 1-6
3) An additional book
will be required for the Problem Solving lab
Sign Up: Required Problem Solving Lab = 20% of your
grade
Diskette: High density diskette which can be purchased in class for
$1.00 or a jump drive.
Description: A study of problem-solving tools and techniques and
a broad survey of the major areas of computing. Visual C++ will be the language
used to implement the problems.
Course requirements &
grading percentages:
Exam 1 .................................................................................................................................. 15%
Exam 2 .................................................................................................................................. 15%
Problem Solving Lab.......................................................................................................... 20%
Homework and Lab Projects............................................................................................. 30%
Final exam (comprehensive).............................................................................................. 15%
GA Session.............................................................................................................................5%
Any student who receives failing
grades during this course is urged to discuss this with me.
See the GA assigned to your class for tutoring. Their tutoring hours
will be listed in the student lounge.
Course
Policies: All current JSU
policies apply.
1. Roll will be called daily. The necessity to attend classes and labs on a regular basis will soon be apparent.
2. An
hundred percent attendance is recommended. Most lectures and labs would include
topics from previous lectures. Private lectures will not be provided if the
student is absent in the class and the lab without a valid reason. Student
is responsible for all announcements and assignments made in class.
3. If a student misses an exam, arrangements for the makeup exam should be made within one week. It is student’s responsibility to request for a make-up exam. The reason for absence must be legitimate (doctor’s excuse, etc.). Only one make-up exam is allowed. All others must be taken on time. Exams not taken will result in a zero.
4. Arrive to class on time. If you arrive late the door will be closed and you will not be allowed to attend class. You are responsible for all material given and assignments made in class.
5.
All homework assignments are to be turned in at the
beginning of class on the due date. 5 points will be deducted for each day late
for 20 point assignments and 10 points will be deducted for assignments worth
more than 10 points when late. If you
know that you will be out, you may turn in your assignment early. No credit for
just sending an electronic copy. Students will be working together in the lab
portion of the class; however, students are expected to complete their homework
assignments on their own. Plagiarism will not be tolerated. The
penalty is ZERO for ALL students involved.
6.
A hard copy and electronic copy are required for labs
and projects. Labs and projects are not graded if the hard copy is not turned
in. The hard copy and electronic copy are both due at the beginning of class
for the date due.
7.
All students are expected to attend class fully
prepared with appropriate materials and all devices which make noise turned to
the off position (e.g., cellular phones, pagers, personal stereos, etc.). No electronic equipment may be used during
exams.
8. Any student behavior deemed disruptive by the professor will result in expulsion of the student from the classroom, with an absence for the day and possible disciplinary action. No tobacco related products in class.
9.
The following is a Disability Accommodation statement:
According to Public Law 504 and the Americans with Disabilities Act,
Problem
Solving Class is required as part of CS230 and is not optional
Objectives Objectives:
![]()
1. Develop problem solving
skills which enhance computer solution.
2. Learn software engineering
concepts and skills.
3. Gain experience in use of
high-level programming language such as C++.
4. Write programs using proper
format.
History of Computing &
Introduction to Problem Solving
Logic & Truth Tables
Basic Computing Foundations
Introduction to Algorithms
C++ output Ch. 1 Programming Text
Syntax & Semantics Ch. 2 Programming Text
Data & Variables
Sample Problems (labs)
EXAM 1
C++ Programming (cont) Ch. 3 Programming Text
Algorithms to Code
Sample Problems (labs)
Math Foundations (cont)
Computer Number Systems
Computer Math Ch. 2 Essential Math Text
Computer E-form Ch. 3 Essential Math Text
Program Construct
Input/Output; Assignment Statement Ch. 3 Programming Text
Arithmetic Expressions
Functions & Function Calls
Sample Problems (labs)
Program Design
Design for Input/Output of Data Ch. 4 Programming Text
Validation of input Ch. 5 Programming Text
Interactive vs. Batch input
Sample Problems (labs)
EXAM II
Algorithms, Flowcharts, Pseudocode Ch. 5 Essential Math Text
Selection Statement
Logical Expressions
If Statements-branch-conditional
Sample Problems
Looping Statements
While Loops&Do While-control structure Ch. 6 Programming Text
For Loops –control structure
Ch. 9 Programming Text
Final Exam Comprehensive but mainly on material covered
since exam 2.
The introduction of each new topic will be followed
by appropriate classroom applications, lab work and homework assignments.
|
Class Time |
Exam Time |
Exam Date |
|
CS230_02 |
|
|
As a
programmer always remember that programming is not all about writing codes and
compiling them and receiving correct output. Designing software is an art; an
art that is used when an architect designs his skyscraper or an engineer
designs his model plane or space shuttle.
As
programmers we always have to be careful in terms of program’s efficiency,
flexibility, clarity and validity. We must remember that just like an airport
or the tallest building in town our program may need modification in the
future. Our program must be able to accommodate that modification. You as a
software designer may not be present at that time but your code will. Other
programmers will work on it and they will have to be able to understand your
work. They will have to understand your logic. So be clean, and always write
comments next to your codes for clarity. Always indent your code whenever it is
necessary.
As a
programmer you must understand the environment (user group, memory
availability, output time urgency, program efficiency, program accuracy etc.)
your program will run. Just like the way a civil engineer would understand his
environment (air pressure, river bed, water pressure, weight etc.) before he
designs a bridge over a river. You have to design software where each module
will communicate with each other in most efficient way. Each module has to be
flexible enough to be modified or replaced without effecting the operation of
the other modules. Too many interdependent modules always will make your
program less receptive towards its environment. A building with too many
interdependent structures is always harder to renovate than a building with few
interdependent structures.
Now
that you realize that you are not only a programmer but also an architect build
your thoughts strings as such. The best time to do that is from NOW. Every
program you write, keep it clean for yourself and others, make it most
efficient to deal with its environment, design your logic so that it can be
modified easily.
Every
lab will be graded based on the following grading policies in order to shape
your programming style to ensure the above practices in your programs.
Lab
grade points distribution:
Program Algorithm 5pts.
Program necessary comments 3pts.
Proper indentation and neatness 2pts.
Running program with correct output 8pts.
Program Clarity 2pts.