CIOS A185 - SEC 601 ![]()
INTRODUCTION TO PROGRAMMING
BUSINESS APPLICATIONS
C/C++ - PROGRAMMING
SEMESTER Fall 2002
CLASS ROOM Business Education Building BEB 204
CLASS TIME Sec 601 Monday and Wednesday
INSTRUCTOR Dr. Minnie Yen
Associate Professor of Computer Information Systems (CIS)
PHONE/FAX ( (907) 786-4117 2 (907) 786-4115 Fax
OFFICE Business Education Building BEB 226
Computer Information Systems Department
OFFICE HOURS Monday and Wednesday
Saturday
E-MAIL ADDRESS 7 afmyy@uaa.alaska.edu
FACULTY WWW : http://www.cbpp.uaa.alaska.edu/directory/faculty.asp
COURSE WWW : through blackboard
LAB Business Education Building BEB 204
LAB HOURS Saturday
GRADER Ms. Masako Nemoto
TEACHING "The University exists for the students...
PHILOSOPHY but
the university cannot give you an education -
it can only help acquire one for yourselves.
The main effort must be made by the
students."
(OU President Lynn Cross - 1952 Greetings to new students)
PREREQUISITE CIOS A110 Computer Concepts in Business
COURSE Various emerging and tools relevant to MIS applications object oriented
DESCRIPTION design. The basic syntax, code construction and business use of the
language will be covered. The language covered in this course will be C++.
The course may be repeated with change of topic.
LEARNING At the end of this
course you should be able to do the following at ‘C’ OBJECTIVES level of
proficiency, Use structured
programming techniques in the
ANSI C++ language
to analyze business problems, design algorithms as solutions, and have the
following programming abilities:
· To develop software
solutions to business problems.
· Learn and hone the
following programming competencies:
· analyze problems,
· create algorithm,
· design software,
· write and use
flowcharts,
· programming disciplines,
· debugging,
· testing,
· documenting, and
·
maintaining.
·
Gain experience in a multi-user, multi-programming
operating
system
environment.
· Become proficient
in:
· modular programming techniques,
· report generation,
· batch file processing,
· table storage and
retrieval, and
· error checking routines and error reporting.
ACTIVITIES Lectures, discussions, reading, writing, calculations, hands-on experiences,
programming, multi-media, presentations, primary and secondary research.
TEXT John C. Molluzzo (1999). C++ for Business Programming. Prentice Hall Publishers, Upper Saddle River, NJ ISBN 0-13-577594-9
includes book and CD ROM Microsoft Visual C++ 6.0
ADDITIONAL Occasionally additional reading and study from outside sources may be READING required or recommended. These sources will include, but are not limited to, recent newspapers, business journals and monographs, and the World Wide Web. Any such reading/study assignments will be announced in class by the instructor.
LECTURE NOTES The Power Point presentations used in class will be made available to the students via blackboard
ASSIGNMENTS CIOS 185 is a hands-on course. Lab exercises and homework assignments are intended as important tasks for you to use to practice what you learn in the class session. You are encouraged to use the lab after the class to work on your assignments. The assignments will require you to spend time in the computer lab using the Microsoft C++ and Unix C++ compiler.
The faculty member will be available in their
office during posted office hours to help you when you have problems.
Additional help may be provided in weekend workshops Saturdays
All assignments are due at the
beginning of class. Assignments received after the first 10 minutes of class
count as late. Late assignments will not be accepted without prior approval of
the instructor.
PROGRAMS There will be Seven (7) programming problems, of
which the six (6) highest
scores will be counted. The programs will be
developed using the CIOS host computer (Odin, IP number - 137.229.174.11), the
LINUX operating system, and the GNU C compiler or Microsoft Visual C++ 6.0
included with your text. Programs must be submitted on the due date prior
to the start of class.
All programs have
to be submitted using the submit program on Odin!!!!!
Example: When you write program one, save it in a file in your
working directory on ODIN and name the program - p1.asxxxx.cpp , where asxxxx is your userid/username, with xxxx being your initials and any
number that has been assigned to you. Next, prior to the beginning of the
class when the program is due, on ODIN, type submit1850n p1.asxxxx.cpp to
submit it, where n is your section number, e.g. submit18501
p1.asddh5.cpp, would submit my program if I were in section 1.
Emailed
or Printed Programs are not acceptable for Programs 1-7!!!!!
Late
Programs will not be accepted without prior approval.
For homework projects you need to turn in your top down design including:
1. description of the problem in your own words/pseudo code
2. a flow chart and pseudocode
both have to be computer generated
hand sketches or handwritten assignments will receive Zero (0) points.
You need to turn in a printed copy of your source code and also a copy of your
running program on diskette.
You also need to turn in a copy of any output your program produces.
Your program code needs to be well documented according to class guidelines.
Two points will be deducted for each program that does not contain the proper top of page comments.
Place each assignment in a pocket folder.
Label each folder with your name and section number, the due date of the assignment and the current assignment number.
Disks must be checked for viruses with the anti-virus program available in the microcomputer lab. Zero (0) points will be assigned for handing a disk with a virus that can be detected.
Make certain that you have a back-up copy of all material submitted.
Don't submit the assignment along with any confidential or "mission critical"
Information, as the electronic media may be lost or damaged.
In other words the diskette should only contain the individual assignment.
These are individual assignments and are
NOT group projects!
Programs are graded on three components:
documentation, style and correctness. The weights for these categories are
approximately 20%, 30% and 50%, although this may change somewhat by
assignment. The following are the component descriptions:
Documentation
(20%): Two types of documentation are expected.
·
External documentation (10%) is placed before the code and includes:
· Overview of the program's
purpose
· Design
of the program (pseudo code, flow diagrams, Visual Tables of Contents[VTOC], etc.)
· Input expected
output produced
·
Limitations
of the program
·
Internal documentation (10%) is placed within
the code and includes:
·
Use of symbolic constants and good names for types,
variables and functions.
· Comments that
explain the purpose and design of each user-written function.
·
Variable dictionaries that explain the use of each
variable within a function.
·
Comments
that explain what single lines or groups of lines of code are supposed to do.
Style (30%): While grading on
style is subjective, there are several concrete things that are expected:
· Modularity(5%) - Does the
program use functions effectively?
· Logic (10%) - Are
the algorithms clear and concise?
· Readability (10%)
- Is the code easy to read and follow?
·
Structure
(5%) - Is the code well structured, and are the data
structures appropriate?
Correctness
(50%): Each program has a number of explicit
specifications. You must implement these specifications. If there are any
questions regarding the interpretation of specifications, please ask. Use
common sense when formatting screen input and when testing for errors.
The programs are
not expected to be of commercial quality, but they should be reasonable.
The program must
compile and/or produce accurate results.
PROGRAM DEVELOPMENT
STEPS
1.
DEFINE THE PROBLEM
WHAT IS THE PURPOSE OF THE PROGRAM?
WHAT DATA IS TO BE PROCESSED?
WHAT OUTPUT IS
DESIRED?
WHAT INPUT IS
AVAILABLE?
HOW WILL THE
PROGRAM ACCOMPLISH THE DESIRED GOALS?
DEVELOP AN INPUT -
PROCESS - OUTPUT (IPO) CHART.
2. DESIGN TEST DATA
ADEQUATE AMOUNT.
DOES IT TEST ALL ASPECTS OF THE PROGRAM?
3. DESIGN THE PROGRAM
DECIDE ON THE
NAMES FOR ALL FILES.
DECIDE ON NAMES
FOR ALL RECORDS.
DECIDE ON THE
NAMES FOR ALL FIELDS.
DECIDE ON THE
NAMES FOR ALL WORKING STORAGE ITEMS.
PSEUDOCODE OR FLOWCHART THE PROGRAM.
4.
CODE
THE PROGRAM
5. COMPILE THE
PROGRAM
RESUBMIT AFTER SYNTAX ERRORS
HAVE BEEN CORRECTED.
6. TEST THE PROGRAM
DO THE
FUNCTIONAL CHECKS FIRST WITH THE DATA FROM 2
DO THE VOLUME CHECK
WITH VOLUME DATA.
7. DOCUMENT THE
PROGRAM.
STRUCTURED CODE AND INTERNAL DOCUMENTATION.
MINIMUM PROGRAM
REQUIREMENTS
// Beginning of external documentation (this is
required)
//
Program ID: P1
// Programmer Name:
Your Name
// Date
Written/Revised:
// Program
Description: This area should tell the story for the program
//
It is the external documentation area, which
//
States the Purpose of the program.
// Pseudocode: Insert the pseudocode that accurately represents the
//
logical outline of the program.
// Input/Output:
Identify the expected inputs and outputs
// Limitations:
List any limitations of the program, e.g. it will only allow integer
//
numbers as input.
//
// End of external documentation
// Program
begins here
#include
<iostream.h>
int
main()
{
functions/statements;
return
0;
SIMPLE EXAMPLE
PRINT A PROGRAM BANNER
// Program
ID: P10 Program One
// Programmer:
Dennis D. Howard
// Date Written/Revised:
// Program
Description: This program requires the programmer to enter print
statements that will print
out their name on the screen.
// Pseudocode:
// Display Program Banner
with program name and programmer name.
// Input:
No user input. The program is hard coded
// Output:
Output is the result of the print statement in the program and cannot
//
be changed by the user
// Limitations:
String data cannot be handled at this time. Programming at this
//
time is limited to simple statements
#include <iostream.h>
int main()
{
// This program
statement prints out a Banner to identify the program and programmer
cout << "\nProgram One by Dennis D. Howard\n";
return 0;
}
UNIX COMMANDS The following
basic commands are ones that you can normally expect
to use during this
course to manipulate your program and data files
on either a LINUX or
UNIX host computer. ODIN is our host computer running the LINUX operating
system.
|
Command |
Function |
Example |
|
^c |
Interrupt |
^c during viewing of online manuals
to return to the prompt |
|
^d |
Disconnect or Logout |
|
|
a.out |
Used to run the C object
file |
a.out |
|
cat |
Concatenate |
cat p1.cpp will list out the
contents of the file p1.cpp |
|
cd |
Change Directory |
cd /usr/users/data |
|
cd .. |
Change directory to the
directory level above |
cd .. |
|
chmod |
Change file permissions |
chmod 755 p1.cpp |
|
chown |
Change file ownership |
chown afddh
p1.cpp |
|
cp |
Copy file |
cp p1.cpp
p1bak.cpp |
|
g++ filename |
Used to compile a source
program (file must have the dot c entension) |
g++ p1.cpp |
|
g++ -c source filename |
This only compiles the
source code in the source file and generate object code and places in the new
filename with the same name as the source file, but with an extension of .o |
g++ -c
p1.cpp |
|
g++ filename -lm |
The -lm is a switch to
enable the math library and must be used when the math library is included. |
g++ p1.cpp -lm |
|
g++ -o new filename
source filename |
This compiles the source
code in the source file and places the executable output in the new filename |
g++ -o
p1exec p1.cpp |
|
logout or lo |
Log out of the remote
computer |
Logout |
|
lpr |
Line Print |
lpr -PP9 filename |
|
ls |
List files and directories |
Ls |
|
mkdir |
Make a directory |
mkdir backup |
|
mv |
Move a file |
mv p1.cpp my |
|
rm |
Remove a file |
rm p1.cpp |
|
rmdir |
Remove a directory |
rmdir backup |
You may find additional helps by going to
the online manuals when logged
into Odin by entering man g++.
REVIEW Days are blocked out as review days, the instructor will be available during class time and after class to review the material of the entire course.
EXAMINATION Examination will occur as scheduled (occasional rescheduling possible)
All work has to be shown on the exam paper (formulas, steps, units, etc.)
Each exam will cover any material previously discussed in class.
This does not mean the exams are comprehensive.
The Final Exam is a comprehensive exam and will cover the entire semester.
Knowledge is cumulative and material discussed at the end of the semester will draw from earlier course material.
Two Hands-On-Exams/Practicums:
There will be two practicums: a Midterm and Final
exam as shown in the schedule. The midterm practicum will be scheduled
for a period of four hours and the final will be scheduled for a period of six
hours.
Each practicum will also
include a written closed book exam which may be multiple choice/fill in the
blank, short answers, essay format up to the instructor’s discression.
If an exam is missed
without a justifiable reason, the student will receive a score of zero for the
exam. Makeup exams will be available only by prior arrangement and written
consent of the instructor.
The faculty member will give quizzes during the class session. If you
miss a quiz, you may not be make
it up. The quiz with the lowest score will not be used for grading
purposes.
EVALUATION:
|
Item |
Explanation |
Percent |
|
Homework |
There will be 12 homework assignments, at .5% each, for a total
of 6%. |
6% |
|
Quizzes |
There will be seven written quizzes, which will be scored at
2%, for a total of 14%. |
14% |
|
Exams |
Both Exam are hands on Exams.
The Midterm will be worth 25 % and the final will be worth 30% of the overall
grade. |
55% |
|
Programs |
Turn in six out of seven Programs, at 4% each for a maximum of
total of 24% |
24% |
|
Portfolio |
You
prepare and hand in all the assignments and quizzes in a portfolio at the end
of the semester |
1% |
|
Total |
|
100% |
GRADING: A grade of ZERO (0) is given for exam absences (no make-up exams).
A grade of ZERO (0) is given for work not in on due date (no late work).
SCALE (Percent)
A = 100 - 90 Exceptional grasp and insight
B = 89.9 - 80 Substantial grasp, significant insight
C = 79.9 - 70 Essential grasp, partial insight
C IS THE MINIMAL GRADE TO
CONTINUE IN CIOS
D = 69.9 - 60 Minimal grasp, weak insight
F = 59.9 - 0 Inadequate grasp or insight
I = Incomplete will be given only for extraordinary reasons
W = Withdrawal only as per timetable
If a student's average score across all exams is less than 70%, the highest
grade the student can earn for the course is a D. The D grade applies regardless of the student's performance in other areas of the course.
This policy applies to prevent a student from receiving a passing grade for the course just because his or her group receives very high grades on the group project and individual assignments.
ACADEMIC All work must be your own, alleged misconduct (see Student Code) MISCONDUCT: will be prosecuted.
ATTENDANCE Attendance is highly valued and encouraged.
ABSENCE: Absentee must obtain content and assignments from other students.
Excessive absence may reduce grade. For additional clarification contact instructor.
DISABILITY: Any student in this course who has a disability that may prevent him or her from fully demonstrating his or her abilities should contact me personally as soon as possible so we can discuss accommodations necessary to ensure full participation and facilitate your educational opportunities.
SCHEDULE: Instructor reserves the right to change dates and content of lectures and to
reschedule exams.
|
Date |
Lectures |
Chapter |
Assignments |
DUE |
|
08/26 |