CIOS A185 - SEC 601

INTRODUCTION TO PROGRAMMING BUSINESS APPLICATIONS

C/C++ - PROGRAMMING

 UNIVERSITY OF ALASKA  ANCHORAGE

 

SEMESTER              Fall 2002

 

CLASS ROOM         Business Education Building BEB 204     

 

CLASS TIME            Sec 601 Monday and Wednesday 05:30 PM - 06:45 PM

                                   

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

College of Business and Public Policy

University of Alaska Anchorage

Anchorage, AK 99508     

 

OFFICE HOURS      Monday and Wednesday 03:00PM - 04:00PM and 06:45PM-08:00PM

Saturday 11:45AM – 12:45PM or by appointment and via e-mail

 

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 05:00 PM – 07:00 PM (excluding exam days and holidays)

           

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 5PM-7PM (except on holidays and exam dates, or by free tutors provided by upper class MIS students.

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:  1/7/2002  

//  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:  1/7/2002

 

//  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
{Section}

Assignments

DUE

08/26