Fundamentals of Programming and Problem Solving
RATIONALE
The mass production of computers and constant reduction in their cost has given more people access to computer technology in their homes, schools and places of work. The prevalence of computer communication hardware in developed and developing societies have given far more people access to powerful computers, in the form of desktops, laptops, handhelds, and notebooks, than was the case a decade ago. Yet, the myth surrounding the complexity of the matter of programming has kept many brilliant Caribbean scholars from pursuing programming as a business. Hence, Caribbean nationals remain more interested in being end-users rather than developers of computer programs.
This course seeks to change the skills set of the Caribbean Associate degree graduate by providing all ICT majors with the building blocks of problem solving and programming in C++. It provides the right instructional conditions to develop, in students, programming skills that will enable them to create original computer programs that are solutions to problems that are unique to us in the Caribbean.
The course content challenges students to use their natural talents and creative powers to apply more imagination to the problems that exist among Caribbean societies. Thus, we hope that knowledge that is gained from this course will not only stimulate the student’s interest in pursuing a career in programming, but provide adequate foundational skills that enable those who choose to do additional programming courses to master them, and those who choose to pursue program development as a career to be exceptional creative programmers.
COURSE DESCRIPTION
This course introduces the fundamentals of computer programming and problem solving. It provides basic instructions on the process of problem solving, and deep exploration of fundamental computer-related problem solving techniques such as flowcharting, pseudo code and algorithms. It introduces students to the syntax of the C++ programming language, and provides them with opportunities to use this language to generate solutions to real organisational and societal problems.
LEARNING OUTCOMES
On completion of this course students should be able to:
- Describe the basic control structures in C++
- Apply the principles of flowcharting to the software develop cycle.
- Create pseudo codes for real life problems and use to develop algorithms.
- Use abstraction to create Computer Software in an efficient manner.
- Analyze the features of one high level language to determine its constructs and program structure.
- Describe data types and structures for computer representation.
- Evaluate the functions and subroutines that are embedded in the C++ programming a language
- Write a simple program in C++ and use it to make decisions.
- Explain Event Driven Programming and Object Oriented Programming methods.
TEACHING AND LEARNING METHODS
To facilitate fulfilment of the requirements of this course lesson will utilise the following methods:
- Instructor Presentations
- Group and Individual Projects
- Lab Work
- Demonstrations
- Peer-Tutoring
- Tutoring
ASSESSMENT PROCEDURES
- Coursework (60%)
- Programming Assignment [20 marks]
- Programming Project [40 mark]
- Examination (40%)
ASSESSMENT SUMMARY
Task / Assignment No. & Name | Due Date | Time | Weight | Type | Learning Outcomes |
1. Assignment | Sept. 28th | 10am | 20% | Class Work | 1,2 |
2. Practical | Oct. 26th | 10am | 20% | Project | 3,4 |
3. Oral Presentation | Nov. 30th | 10am | 20% | Presentation | 5,6 |
4. Mid Term | Nov. 16th | 10am | 20% | Test | 7,8,9 |
5. Final Exam | December | 40% | Individual | 1 – 9 |
Nb: Dates are subjected to be changed.
TEXTBOOKS AND REFERENCES
READING LIST
- Farrell, J. (2014). Programming Logic and Design, Introductory. Eight edition.
- Zak, D. (2012). An introduction to programming with C++. Custom seventh (7) edition, Course Technology.
- Zak, D. (2010). An Introduction to Programming with C++. Sixth (6) edition.
This course was like no other, absolutely amazing!