Purdue University
150/155C Introduction to Visual Programming
Course Description
This course is an introductory programming course for computer
programmers and systems analysts. Event-driven, visual and structured
programming concepts will be presented. Course emphasis will
be on the total program development process -- problem analysis,
design, coding, testing, debugging and maintenance. Programming
projects will involve common business problems that require data
entry, display of calculated results, report requests, conditional
testing, arithmetic operations, control breaks, array processing,
data validation, searching, sorting, reading and writing files.
Programs will be implemented using Borland's Delphi for Windows
and its underlying Pascal language.
Organization and Schedule Lecture 2, Lab 2, Credit
3
| Semester |
Meeting Type |
Days |
Time |
Location |
| Spring '96 |
lecture 1 |
M, F |
7:30-8:20am |
KNOY B035 |
|
lecture 2 |
M, F |
10:30-11:20am |
KNOY B035 |
|
lecture 3 |
M, F |
3:30-4:20pm |
KNOY B035 |
|
lab 1 |
T |
7:30-9:20am |
KNOY 228 - IBM Lab |
|
lab 2 |
T |
9:30-11:20am |
KNOY 228 - IBM Lab |
|
lab 3 |
T |
1:30-3:20pm |
KNOY 228 - IBM Lab |
|
lab 4 |
W |
9:30-11:20am |
KNOY 228 - IBM Lab |
|
lab 5 |
W |
1:30-3:20pm |
KNOY 228 - IBM Lab |
|
lab 5 |
Th |
11:30-1:20pm |
KNOY 228 - IBM Lab |
|
lab 5 |
Th |
3:30-5:20pm |
KNOY 228 - IBM Lab |
|
|
evening exam |
2/28/96 |
7:00-8:00pm |
PHYS 112 |
Prerequisites recommended CPT 135 or familiarity with Windows
Keywords Applicable to Career Development and Job Hunting
Structured Programming Program Maintenance
Event-driven Programming Sequential File Processing
GUI, Windows or Visual Programming Program Flowcharts
Program Development Life Cycle Structured Walkthroughs
Program Testing Program Documentation
Course Audience
This is a required course for CPT majors and is their first programming course. It may also be taken as an elective course for non-majors who have an interest in Windows programming.
Course Manager and Lead Instructor
| Name |
Office |
Phone |
Email Address |
Office Hours |
| Susan Lisack |
KNOY 217 |
49-42568 |
sklisack@tech.purdue.edu |
M, F 8:30-9:20am |
Other Course Instructors
| Name |
Office |
Phone |
Email Address |
Office Hours |
| Michael Payne |
KNOY 219 |
49-42566 |
mjpayne@tech.purdue.edu |
(as posted) |
Required Textbooks, Lab Manuals, and Supplies
Watson, B. (1995). Delphi By Example. Que Corporation.
Four 3.5" diskettes
3-ring folder (not 1" notebook) with side pockets, labels, tabs
Flowchart template
Student Objectives
After successfully completing this course, you should be able to:
1.Analyze a set of programming specifications in terms of inputs, processing and outputs
2.Develop a logic design for solving the problem
3.Translate the logic design into source code that exhibits good style and readability
4.Generate test data and a test procedure for a program; compile and debug the program
5.Prepare good program documentation.
How Final Grades will be Determined (subject to change with notice)
Points
Assessment Mechanism Total Points
EXAMSMid-term 100
Lab Practical 75
Final exam 125
Exercises/Quizzes/Homework/
Attendance (estimate only) 350
Projects (estimate only) 250
design / walkthrough / completed project
Grading Scale
Grade Scale
A 90% and above
B 80% - 89.9%
C 70% - 79.9%
D 60% - 69.9%
F below 60%
Notes and Comments
- Grades are determined according to the percentage of total possible points you have earned. (However, the instructor reserves the right to use a percentage of high student's score instead). Grade sheets will be posted periodically for your review.
- PROJECT MASTERY: Scores for completed projects will not be recorded if the program produces incorrect output, severely violates structured programming principles, has more than 5 style violations, or does not contain the student's name in the program's header block. The project will need to be resubmitted until it is correct, with additional loss of points for each resubmission, in order to receive a score for that project.
- EXTRA CREDIT (Bonus points): Extra credit points will be offered for attending help sessions (maximum of 30 points), for turning completed projects in early, and for completing extra work on projects. If a project must be resubmitted, you will not receive any extra credit for submitting it early.
- INCOMPLETES: Incompletes will be granted only under extenuating circumstances (e.g. serious illness) documented through the Dean of Students' office. Do not expect to receive an incomplete to cover up failure in this course. Incompletes will not be given for non-mastery of programming assignments or poor attendance, without prior instructor approval. Programming assignments must be mastered or no score will be recorded for that assignment.
Course Policies
Attendance, Preparation, and Courtesy Expectations and Policies
- It is assumed that you will read the assigned chapters and that you will attend ALL lecture and lab sessions. Attendance will be taken in every lab. You will be responsible for reading the assigned chapters before each lab period, and should plan to work through the examples in each chapter on the computer. Be prepared to ask questions in class. Exercises and quizzes over assigned material will be given.
- If you must miss a class for illness, or an appointment, contact the instructor in advance about the possibility of rescheduling a quiz or assignment. You should also have the phone number of 2-3 other students in the class that you can call to get class notes, announcements or assignments if you must miss class.
- Be in class on time. Late students disrupt the class. Getting up and leaving in the middle of class is rude. Talking to other students in the classroom distracts both the instructor and your fellow students. Finally, if you prefer to sleep or read newspapers, do not come to class.
Add/Drop Expectations and Policies
- According to CPT educational policy, this course may not be added to any student's academic schedule after the third week of a Fall or Spring semester (or equivalent for a Summer semester) except under very extenuating circumstances to be approved by the Assistant Department Head of Computer Technology.
- According to CPT educational policy, no independent study course can be substituted for this course.
- It is common for students with no programming background to feel lost during the first 4-5 weeks of the course, even if they are receiving passing scores. Since the last day to drop is March 18, try to stick with the course for 8 weeks to get a good feel for programming before making a decision to drop. All students who are making a reasonable effort will receive a W (withdraw passing) if they decide to drop the course.
Quiz and Exam Policies
- Make-ups for missed quizzes or exams will only be allowed if the instructor authorizes the excuse PRIOR to the quiz or exam and the circumstances warrant the makeup, or there was an illness or accident requiring doctor's care at the time of the exam. Written documentation of the doctor's care may be requested. Extenuating circumstances are handled individually and must be reported immediately. Every CPT faculty member has voice mail, so you can call the office at all hours of the night and leave a message.
- According to CPT policy, graded final examinations for 100- and 200-level courses will not be returned. They are being retained by the department for possible modification and use in course test-outs.
Homework Policies and Quality Expectations
- Exercises and lab assignments are to be handed in at the beginning of the class period on the specified due date unless otherwise stated by the instructor. Jagged-edged pages torn out of a spiral notebook will not be accepted. Staple multiple pages.
- Save your programs on a diskette until your graded labs are returned.
- LATE ASSIGNMENTS: All late assignments must be clearly labelled with the name of the assignment, the course, and your name, and turned in at the CPT main office (KNOY 242). Late exercises and lab assignments will be penalized 1 point per week day unless the answer has been given to the class, in which case the assignment will be penalized 50%.
- Homework may be submitted for grading to the CPT Main Office in Knoy 242. All submissions will be dated and time-stamped. The office closes promptly at 5:00 PM; therefore all materials must be submitted by 4:30 PM for the instructor to receive it that day.
- To protect your privacy, graded materials will never be passed around the classroom or placed outside of an instructor's office door. Every student in this course has a "pickup file" in Knoy 242. You can pick up graded materials (and announcements) in Knoy 242 during normal business operating hours).
Programming Policies and Quality Expectations
- Projects will be completed in 2 phases - written design, then the completed code. Each part is to be turned in inside a 3-ring folder.
- Project design materials are to be completed by the beginning of the class period on the specified due date for design walkthroughs. Failure to meet this deadline means a loss of 10 points for the current project walkthrough.
- Projects that do not produce correct output will not be accepted! If your project output does not meet the requirements of the program specifications, it is incorrect and you will be required to resubmit it, incurring any late penalties. Correct output means that screen messages and answers, reports and files are accurate, and the user can perform all the actions as stated in the project specifications.
- ANY OF THE FOLLOWING CONDITIONS WILL RESULT IN AN AUTOMATIC GRADE REDUCTION OF 10 POINTS FOR THE CURRENT PROJECT AND YOU WILL BE REQUIRED TO CORRECT THE ERROR(S) AND RESUBMIT YOUR PROJECT WITHIN 5 DAYS:
- Failure to submit all your program listings to your instructor by the due date and time.
- On your diskette, submitting a file which is improperly designated or not including
all files needed.
- Submitting a program which does not have a header block specifying your name.
- Submitting a program which does not successfully compile.
- Submitting a program which does not produce correct output. Note: You will not
receive any credit for the program until the output is correct.
- Completed projects may be submitted for grading to the CPT Main Office in Knoy 242. All submissions will be dated and time-stamped. The office closes promptly at 5:00 PM; therefore all materials must be submitted by 4:30 PM to be considered "on time."
Re-Grading Policies
- Any student who thinks a paper has been scored incorrectly should return the paper with a written statement explaining the problem. The instructor reserves the right to review the ENTIRE assignment (grade may DECREASE, as well as INCREASE). A re-grade request must be submitted no later than one week after the original grade is received. This policy will preserve objectivity and save time for both student and instructor.
- According to University regulations, only final course grades can be "appealed." There is a formal School of Technology and University timetable and process for grade appeals. It must be followed exactly! Questions about grade appeals should be directed to the Assistant Department Head of Computer Technology or the Chair of the School of Technology Grade Appeals Committee.
Lab Policies and Expectations
- The scheduled laboratory periods will generally be used to discuss lab assignments, explain/try a new feature of Delphi, demonstrate your completed lab assignments, take quizzes, and work on the next lab assignment. Do not expect to finish all lab assignments in your scheduled lab time.
- The CPT labs are usually open evenings and Sundays for student use in completing class assignments. The labs are also available during the day when no scheduled labs are in session. Your CPT accounts will work in both KNOY 208 and KNOY 228. Check the lab doors for the current schedule.
- The Purdue Computing Center is installing 40 copies of Delphi in their labs (e.g. Mathews, AGAD, LAEB) to provide increased access outside of class.
- If you use the CPT laboratories, you are responsible for any and all laboratory policies - including the security policies that govern your account. Policies do change from time to time; therefore, you should review the CPTnet and Laboratory Policies at the beginning of each semester. Accounts can be temporarily or permanently suspended for policy violations.
- In the event that your account is suspended for any laboratory or network policy violation, this course will not extend deadlines or eliminate late penalties for assignments that could not be completed because of the suspension.
Academic Dishonesty ("Cheating") Policies
- Students involved in a case of academic dishonesty may receive a failing grade in the course and the case will be referred to the Dean of Students for possible further disciplinary action. This action may range from academic probation to expulsion from Purdue with encumbered records (meaning that your credit at Purdue is not transferable to any other institution, ever).
- Students supplying materials in a dishonesty case are as guilty as those receiving the materials.
- The following cheating policy discussion is presented from the programming development life cycle perspective. Under each step in the cycle, activities will be listed that are encouraged versus those considered academically dishonest.
Analyze the specifications (understand the problem)
Students are encouraged to discuss the assignment specifications and exercises with other students in the class prior to developing the design.
Design the Logic
All elements produced by the design phase (i.e. narratives, logic descriptions, flowcharts, test plan, etc.) must be produced by EACH individual student. Variations may be allowed by the course instructor, but must be specified for each program.
Submitting work which was not a DIRECT effort or product of the student is academically dishonest.
Following completion of the individual design effort, students will meet in lab and be assigned to a walkthrough team. The team members will discuss and walkthrough their designs. After discussing the design with other class members, students MUST retain possession of their work.
Allowing another student to copy work is academically dishonest. Any students participating in a walkthrough of a program that he must also design, including merely being present, is considered academic dishonesty if he/she has not previously completed the flowcharts for the project.
Program Construction (Coding)
In general each student must develop the code in isolation from other class individuals and enter his/her own programs.
Copying or transferring of files through utility programs or mail, except as specifically authorized by the course instructor is forbidden.
Using program documentation, code, notes or other materials from garbage cans or other means of disposal is forbidden.
Submitting output that could not have been produced by the source program submitted is academically dishonest (i.e. edited output, output from another student's program, etc.)
Contract programming (the purchase of a program from another person) is forbidden and both parties will be considered equally culpable.
Course Outline (subject to change)
I. Introduction to the Computer System Environment
II. Preliminary Programming Concepts
A. Constants, variables and assignment statements
B. Data types and conversion
III. Program Development Process
A. Problem Definition
B. Solution Planning with Structured Flowcharts and Design Walkthroughs
C. Coding, Code Walkthroughs and Documentation
D. Testing and Debugging
E. Documentation and Maintenance
IV. Structured Programming
A. Control Structures
B. Modularization
V. Conditional Structures, IF Statements and Logical Operations, CASE statements
A. Simple and Nested IF Statements
B. OR and AND Logical Operations
C. CASE Statements
VI. Repetitive Structures, WHILE, REPEAT and FOR loops
A. Comparison of looping structures
B. Control Break Processing
VII. Performing Calculations
A. Operators and Operator Precedence
B. Integer vs. Real
VIII. Coding Modules
A. Procedures
B. Functions
IX. Sequential Files
A. Declaring, Opening and Closing Files
B. Reading From and Writing to Files
X. Array Processing
A. Defining and Loading Arrays
B. Searching and Sorting Arrays
C. Using and updating values in Arrays
XI. Random Access Files (CPT 155C only)
Course Calendar of meetings and/or Assignments (subject to change)
|
Week or Date
|
Monday
|
Lab (Tues, Wed, Thurs)
|
Friday
|
|
1/08
|
Course Intro., Syllabus, Windows review (Ch. 1, 2)
|
Lab Policies, Accounts, Familiarization with Delphi Environment (Ch. 3, 4)
|
Intro. to Pascal, variables, numbers, assignment statements, comments (Ch. 5-7)
|
|
1/15
|
Martin Luther King Holiday
|
Simple Pascal Programs (Ch. 5-7)
|
Intro. to Pascal (continued), simple math
|
|
1/22
|
Data Conversion (Ch. 9), Steps in Program Development
|
Use Data Conversion subroutines, debugging tools and techniques
|
Intro. to Structured Programming, Flowcharts, Conditional Structures (Ch. 10)
|
|
1/29
|
Conditional Structures (cont.)
|
Code IF statements, radio buttons, check boxes
|
CASE Structure (Ch. 11)
|
|
2/05
|
Repetitive Structures (Ch. 12)
|
Code nested IFs, CASE statements
|
Repetitive Structures (continued)
|
|
2/12
|
Procedures (Ch. 8)
|
Code loops, procedures
|
Functions (Ch. 8)
|
|
2/19
|
Testing programs, Coding style
|
Discuss Project 1, code nested loops, procedures, MsgDialog box
|
Integer vs. Real, Arithmetic Operators, Operator Precedence (Ch. 13)
|
|
2/26
|
Review for MID-TERM EXAM
Feb. 28, 7-8PM, PHYS 112
|
Project 1 Design Walkthrough, multiple forms, tab order, Set Focus, perform calculations, functions
|
No Lecture to makeup for night exam
|
|
S P R I N G B R E A K
|
S P R I N G B R E A K
|
S P R I N G B R E A K
|
|
3/11
|
Arrays (Ch. 17)
|
Debugging, more subroutines
|
Arrays (continued)
|
|
3/18
|
** PROJECT 1 DUE **
Arrays (continued)
|
Coding arrays
|
Sequential Files (Ch. 18)
|
|
3/25
|
Sequential Files (continued)
|
Discuss Project 2, centering, borders, top-down coding and testing, files
|
Data validation
|
|
4/01
|
Control breaks
|
Project 2 Design Walkthrough, Sequential Files, formatting numbers
|
Review for lab practical, discuss project 2 logic
|
|
4/08
|
Discuss project logic
|
LAB PRACTICAL
|
Reports, Menus
|
|
4/15
|
Updating sequential files
|
Work on project 2
|
2-dimensional arrays
|
|
4/22
|
** PROJECT 2 DUE **
|
Demonstrate Project 2
|
Course Evaluation
|
|
FINAL EXAM
|
DATE:
|
TIME:
|
LOCATION:
|
Latest Comments View All Add New RSS ATOM