CST389 - Programming in C++
Computer Science
Khalid Khanfar, Ph.D. - E-mail | Vita
504-280-3779
WORDS OF WELCOME:
First, I would like to welcome all of you. I am looking forward to working with you .I hope that you will add more knowledge to whatever you already have. I am glad to be your facilitator for this class. I am looking forward to hearing your opinions through our extensive discussions. Please, feel free to send me an e-mail or to call me if you have any question.
GENERAL COURSE DESCRIPTION:
This course provides the conceptual foundation to develop computer software programs. Topics include program structure and syntax, documentation, input/output, constants and variables, calculations, logic structures, control structures, arrays, files and design considerations. The course uses C++.
Zak, Diane. 2001. An Introduction to Programming with C++. Second Edition. Cambridge, MA: Course Technology. ISBN #: 0619033592
Student files for the course from http://www.course.com.
Microsoft Visual C++ 6.0 Learning Edition (included with the textbook).
MAILBOXES:
My mailbox: Please use my personal mailbox for questions, requests or any issues you may want to discuss privately. This is the best way to reach me. If you have a serious issue, please call me and if you get my voice mail, please leave a message with your phone number and the best time to get back to you.
Your mailbox: I will respond to your personal questions here. You will also receive feedback on participation, individual assignments, and your final grade in your mailbox.
IMPORTANT: If you face any trouble participating, please let me right away so that we can discuss how to work things out together. I am here to help you.
COURSE OBJECTIVES:
Overview of Computer Programming
Discuss the history of programming languages.
Compare and contrast command, procedure, and object-oriented languages.
Compare and contrast interpretive languages and compiled languages.
Examine the appropriate use of various software languages.
Examine the System Development Life Cycle and Software Development Life Cycle.
Define the roles of programmers and analysts.
Using flow charts, explain the logical structures associated with I/O (input/output), calculation (equations), selection (conditional), and repetition (iteration) in computer programs.
Explain the roles of language structure, semantics, and syntax.
Documenting, Coding, Executing, Testing and Debugging
Explain the need for internal and external standards.
Explain the importance of program documentation.
Explain I/O (input/output).
Explain the processes of compiling and executing software programs.
Explain the needs and methods for testing and debugging programs.
Define the types of variables, constants, and equations.
Demonstrate documenting, coding, compiling, executing, testing, and debugging of software programs.
Functions and Conditional Structures
Explain built-in functions.
Explain programmer-defined functions.
Demonstrate built-in and programmer-defined functions.
Using flow charts, explain conditional structures.
Explain "if" statement.
Explain "case" statement.
Explain nesting conditional statements.
Demonstrate conditional structures.
Looping Structures and Arrays
Using flow charts, explain looping structures.
Explain "counters" and "accumulators".
Explain "for" statement.
Explain "while" statement.
Demonstrate looping structures.
Explain one-dimensional arrays.
Explain two-dimensional arrays.
Demonstrate arrays.
Files and Program Maintenance
Explain file structure.
Define file types.
Explain opening files.
Explain reading from and writing to files.
Explain closing files.
Demonstrate file access.
Explain structured programming.
Compare and contrast structured programming to object-oriented programming.
READING:
The reading for this class is very important. I suggest that you start reading immediately and complete the reading each week as directed in the "Assignment" section of your module.
"Collaborative" is the operative word here. Remember, even an innocent remark or attempt at humor in the online environment can be misconstrued. Therefore, proofread your responses carefully before you post them to make sure that others will not take them as personal attacks. Use your discussions to develop your skills in collaboration and teamwork.
LIMIT RESPONSES:
Limit your responses to the discussion questions to two screens. That's about 24 lines per screen. Content is more important than volume. The term screens is rather ambiguous, if someone uses a small font a great deal of information can be packed into a single screen. The preferred unit of measure is "words"
FEEDBACK ON ASSIGNMENTS AND THE WEEK:
You will receive feedback from me on all your graded assignments to your personal mailbox within seven days of receipt. Also a weekly feedback summary will be mailed to your mailbox. Your assignments will be evaluated based on the Content.
LATE ASSIGNMENTS:
When an assignment is due on "Day 3" for example, that means that you will need to post it by midnight, your time zone, on that day. If an assignment is late, I reserve the right to deduct 3 points for each day it is late for two days. You will get ZERO for a 3-day or more late-assignment. The assignment will be considered late if it is submitted after the midnight of the due date (your time zone).
ACADEMIC HONESTY:
Academic honesty is highly valued at Online just as it is at Canyon College Campus. A student must always submit work that represents his or her original words or ideas. If any words or ideas are used that do not represent the student's original words or ideas, the student must cite all relevant sources. The student should also make clear the extent to which such sources were used. Words or ideas that require citations include, but are not limited to, all hardcopy or electronic publications, whether copyrighted or not, and all verbal or visual communication when the content of such communication clearly originates from an identifiable source. At the Online campus, all submissions to any public meeting or private mailbox fall within the scope of words and ideas that require citations if used by someone other than the original author.
Academic dishonesty in an Online learning environment could involve:
Having a tutor or friend complete a portion of your assignments
Having a reviewer make extensive revisions to an assignment
Copying work submitted by another student to a public class meeting
using information from Online information services without proper citation.
If I receive any assignment that has been plagiarized, then the penalty ranges from ZERO on the assignment to expulsion from the university.
ASSIGNMENTS AND POINT VALUES:
The following listing contains the course assignments with points attached to each one. It is the accumulation of these points that determines your final grade. A list of how the points equate to grades follows the list of assignments.
ASSIGNMENTS:
I will send detailed explanations for your assignments that may require additional clarification in time for you to complete them correctly. Please ask any questions so that you completely understand what is being required. Please do not wait until the day the assignment is due to ask your questions.