MECT06004 2013 Programming Fundamentals
On completion of this module, the learner can expect to be proficient in the fundamental aspects of programming from both a theory and practical perspective. The learner can expect to be able to design and write short programs to solve straightforward and clearly defined engineering based problems. The concept of testing programs is introduced,
This module assumes no prior knowledge of programming.
Learning Outcomes
On completion of this module the learner will/should be able to;
Recognise, differenciate and use the structural (code) aspects of a program in various programming solutions
Recognise and select appropriate data (content) structures for various programming solutions
Demonstrate proficiency in programming using input/output variables, making decisions (if/else), use of loops and functions in various programming solutions.
Demonstrate proficiency with compiling, debugging and modifying simple programs of modular design using basic input/output techniques.
Identify suitable test data to test written programs and to assess the outcome of results of tests executed.
Module Assessment Strategies
- Regular programming assignments with model answers
- Practical Final Exam
Indicative Syllabus
Basic concepts of programming
• Introduce concepts of programming
• Split between code (structure) and data (content)
• Brief of popular languages in use today.
• The format of a program
• Coding, compiling, executing a program
Coding concepts
By theory and in class practicals, explain the following constructs:
• The concept of variables (Input / output)
• Loops
o Basic constructs of a loop
o While and for loops
• Making decisions within a program
o Concept of conditions
o operators
o if/else..if/else statements
• Switch / case statements
• Use of break statement
• Functions
o Writing a function
o Calling a function
o Returning information from a function (by reference, by return value)
• Taking input from the keyboard
• Very basic exception handling
Testing
- Ranges of input data to adequately test a simple program
- Writing/executing of test cases - Inputs, Expected Output, Actual Output, pass/fail
- Assessment of test results
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Assignment Programming assignments | Coursework Assessment | UNKNOWN | 40 % | Week 10 | 1,2,3,4,5 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Open Book Exam Practical Programming Final Exam | Final Exam | UNKNOWN | 60 % | Week 13 | 1,2,3,4,5 |
Part Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Distance Learning Suite | Lecture | 2 | Weekly | 2.00 |
Practical / Laboratory | Distance Learning Suite | Practicals | 2 | Weekly | 2.00 |
Module Resources
This module does not recommend a specific programming language. The concepts taught are applicable to almost all programming languages. However, a programming language is needed to conduct the module. Choose a widespread language with programming tools available to learner for little or no cost.
Java, using the JDK with a simple programming environment such as BlueJ is one such option.
Programming tools should be identified and made available to the learner at module commencement.
None