Welcome to CSCI114 Website
Procedural Programming
Class Examples
Content
CSCI114 introduces the procedural approach to program design and implementation. Covers basic language constructs for defining variables of built-in types, flow control constructs and simple I/O. Explores functional decomposition as a design technique, and the implementation of functions. Introduces simple user-defined data types and aggregates.
Objectives
On successful completion of this subject, students should be able to:
- Effectively use basic C++ functionality to code simple algorithms
- Analyse and explain the behaviour of simple programs
- Design, implement, test and debug simple programs
- Apply the techniques of structured decomposition to break a program into smaller pieces
- Display a working knowledge of good programming style
Subject Organisation
Lectures notes for the following topics
1 Introduction to computing concepts.
2 Introduction to computer programming languages.
3 Writing, editing, compiling and linking programs
4 Internal representation of data.
5 Numbering systems
Lectures notes for the following topics
6 Introduction to programming in C++
7 Programming style
Lectures notes for the following topics
8 Introduction to algorithms
Lectures notes for the following topics
9 C++ Data Types, operators and expressions
10 Simple input/output
Lectures notes for the following topics
11 Control Structures: Selection
Lectures notes for the following topics
12 Control Structures: Repetition
Lectures notes for the following topics
13 Modular programming with functions (Passing by Value>
Lectures notes for the following topics
14 Modular programming with functions (Passing by references
15 Variable Storage Classes
16 Recursion, random numbers, and bitwise manipulation
Lectures notes for the following topics
17 Arrays
18 C-strings
Lectures notes for the following topics
19 User defined data types: enumeration & structures
Lectures notes for the following topics
20 Input/output formatting and files
Weekly Programs
Lectures Lab problems
Week 1 Topics 1 to 10 Ubuntu Linux and Sequential program with simple I / O
Week 2 Topics 11 Selection structures
Week 3 Topics 12 Repetition structures
Week 4 Topics 13 to 15 Modular programming I (Function I)
Week 5 Topics 13 to 15 Modular programming I (Functions II)
Week 6 Topics 16 Array applications (1D and 2D arrays)
Week 7 Topics 17 C-strings / recursion / random nos
Week 8 Topics 18 to 19 File I/O and structures
Week 9 Revision week
Lab Exercises/Test Development Environment
- C++ in Ubuntu Linux environment.
- Quincy 2005
UOW Lab Manual
Assessment Task And Value
Students should note that failure to perform satisfactorily in all components of assessment may result in a fail grade. Failure to submit a component of assessment is equivalent to receiving 0 marks.
Assessment Items
Assignment 1 5% 6 April 2009 (See **)
Assignment 2 5% 20 April 2009 (See **)
Assignment 3 5% 06 May 2009 (See **)
Term Test 15% 13 May 2009 (In class, closed Book)
Lab Test 10% 18 May 2009 (In class, open book)
Lab works 10% 8 to 10 lab exercises
Examination 50% To be advised, closed book
**Topics and format for assements:
- There will be 3 class assignments, which will be assessed. These will contain programming problems and/or complete programs that exercise particular skills as you learn them.
- Each assignment will consist of two parts. Part I will be done and submitted in class for grading. Part II, basically a programming question will be done at home and submit before the next lesson.
- All assignments are to be completed independently. Plagiarism may result in a zero mark being recorded for that assignment.
- As assignments are to assess a student's understanding of course material, each assignment must be solved using only material covered up to that point in the course (unless otherwise explicitly stated in the assignment).
- Assignments will be returned during the next lecture.
Assignment 1: Basic concepts in computing (5%)
Assignment 2: Control structures ? selection (5%)
Assignment 3: Control structures ? repetition and Function I (5%)
Term test: Topic 1 to topic 15 (15%)
Lab Test: From topic 1 to topic 17 (10%)
Administration Procedures
No extension of time to complete an assessment task will be granted after submission due date OR model solutions have been published and/or solutions discussed in class. In extreme circumstances an alternative task may be set. Any requests for an extension/alternative task must be accompanied by documentary evidence of the student's ability to complete the task in the alloted time. The granting of such requests is not automatic.
Plagiarism Statement
The University's policy on copying does not allow you to copy software as well as your assessment solutions from another person. Copying of another person's work is unacceptable. It is the responsibility of all students that their assessment solutions are their own work. You must also ensure that others do not obtain access to your solutions for the purpose of copying a part of them. Where such plagiarism is detected, both of the assessments involved will receive no marks.
Learning Resources
The SIM Library has copies of appropriate texts and standards
Distributed Learning System
Some resources will be made available on the SIM student web portal.
Reference and Text Book
Malik D.S., C++ programming ? Program design including data structures,
4th edition, Thomson learning 2008