COMP06235 2018 Introduction to Programming 1
The course shall introduce students the fundamentals of problem solving and programming. During the course, the student will gain knowledge and understanding in problem-solving, the software development lifecycle, development tools and the ability to write programs that make use of fundamental programming constructs.
Learning Outcomes
On completion of this module the learner will/should be able to;
Explain programming evolution, terms and development process.
Solve problems and develop computer programs in a systematic manner .
Write and compile programs that make use of input and output, assignment and arithmetic operators, string manipulation, selection and repetition structures
Write programs that make use of modularisation.
Demonstrate the need for and write programs that use arrays.
Create Git repositories, store to Github and work with commits
Teaching and Learning Strategies
Will employ direct instruction, activity based and problem based teaching and learning coupled with independent learning.
Module Assessment Strategies
There will be summative and formative continuous assessment, which will include quizzes and programming exercises. Summative assessments
Week3 (5%) Week 6(5%) Week 9(5%)
Week 4(10%) Week 7 (15%) Week 10 (20%) |
Repeat Assessments
Student will be offered both repeat exam and ca
Indicative Syllabus
Explain programming evolution, terms and development process.
- Brief overview of evolution of computing and programming languages.
- How a program is executed.
- Elements of a computer program.
- The software development lifecycle.
Solve problems and develop computer programs in a systematic manner.
- Steps involved in problem solving: Understanding the problem, devising a plan, implementing the plan, checking the results.
- Program description languages and representations: natural language, pseudocode, flow charts and hierarchical diagrams.
- Implement paper based problem solving exercises and use a tool like Scratch.
- Edit and compile a program from the command prompt (using a text editor, e.g. notepad ).
- Use an IDE to start, edit, compile, run and debug a project .
- The importance of program style and conventions.
Write programs that make use of data, input and output, assignment and arithmethic operators, string manipulation, selection and repetition structures.
- Variables, data types, constants.
- Assignment, arithmetic operators and precedence.
- Type conversion.
- Keyboard input and output.
- Formatting output. Using Escape sequences.
- String Handling.
- Using pre-defined classes (e.g Math class)
- Simple debugging techniques to trace program flow.
- Importance of testing your program.
- Making decisons : boolean expressions, relational operators, logical operators, If, if.. else, if.. else if, nesting, switch
- Loops: counter controlled and event controlled, while and for loops, nested loops.
Write programs that make use of modularisation
- Concepts of good design - why and how.
- Using pre-defined and programmer defined library methods.
- Non return type methods and return type methods.
- Variable Scope, parameter passing : by value, by reference.
Demonstrate the need for and write programs that use arrays
- The need for arrays, what is an array.
- Declaring an array, populating an array, processing array elements.
- Two dimension arrays.
- Array lookup.
- Passing arrays as parameters.
Work with Git repositories
- Create a repository
- Commit code to a repository
- Push/Pull repository to cloud storage
- Undo changes
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Continuous Assessmrnt | Coursework Assessment | Assessment | 60 % | OnGoing | 1,2,3,4,5,6 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Final Exam | Final Exam | Practical Evaluation | 40 % | End of Semester | 2,3,4,5,6 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Direct Instruction | 1 | Weekly | 1.00 |
Practical / Laboratory | Computer Laboratory | Practical Instruction | 6 | Weekly | 6.00 |
Independent Learning | Not Specified | Independent Learning | 7 | Weekly | 7.00 |
Module Resources
How to think like a programmer: Problem solving for the bewildered. Paul Vickers, Cenage 2008, ISBN: 9781844809004
C# yellow book, Rob Miles 2016
Murach's C# 2015, ISBN-13: 978-1807774943
C# Programming in Easy Steps Paperback - 12 Dec 2016,by Mike McGrath (Author), ISBN-13:978-1840787191
There will be a course Moodle website with links to interesting websites, lecture slides, lab sheets, videos, quizzes etc