Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views5 pages

Course Outline Programming Fundamentals

Uploaded by

atlevertpro262
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

Course Outline Programming Fundamentals

Uploaded by

atlevertpro262
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

COURSE NAME: PROGRAMMING FUNDAMENTALS

COURSE CODE: BCS 1102


LEVEL: YEAR ONE, SEMESTER ONE
CREDIT UNITS: 3
CONTACT HOURS: 45
COURSE INSTRUCTORS: Ms. Nahwera Sarah

COURSE DESCRIPTION

The course is to create a strong base in the principles and practice of functional programming.
Functional programming is a programming paradigm that treats computation as the
evaluation of mathematical functions and avoids changing-state and mutable data. During the
course, students are not to write codes although lecturers may demonstrate with codes but
should show comprehension with illustration diagrams e.g. flow charts and other high -level
tools. One of the high-level programming languages like C, Java and Python of simple syntax
can be used. Students are to cover both theoretical and design principles in solving numerical
problems. Programming fundamentals provides a foundation to structured programming.
Structured programming is a logical programming method that is considered a
precursor/predecessor to object-oriented programming (OOP). In particular, it introduces the
basic ideas and concepts of imperative programming without emphasis on coding.
(NB. The course is very different from introduction to programming or structured
programming)

COURSE OBJECTIVES

To introduce students to the principles of computers programming such as:


i. Comprehensive knowledge about structured programming.
ii. Knowledge in planning and organization of programming projects.
iii. Identifying the steps involved in creating a program and itemise the elements of a
typical program.
iv. Practical skills in structuring programming solutions.
MEHTOD OF TEACHING
The course will be taught by conducting lectures small demonstration programs biased to
practical component. Students will be expected to have supervised tutorials and practical
exercises at most one per week. They will also undertake projects to build a strong foundation
of modelling computer systems at different and appropriate levels of abstraction.

Learning Outcomes

Students who successfully complete this course of study will be able to:
i. Define the concept of an algorithm with examples
ii. Identify the fundamental concepts of Programming techniques.
iii. Explain the nature and function of a high -level language’s constructs.
iv. Describe the concept of control constructs
v. Explain looping techniques
vi. Describe key concepts of simple and dynamic data structure
vii. Describe how functions are constructed
viii. Give a brief account of library functions and user-defined functions
ix. Break down a large problem into smaller parts, and writing a solution of each part as a
module or function.
x. Enhance ability to approach problems systematically.
xi. Communicate effectively by oral, written and visual means.
xii. Develop interpersonal skills planning and managing personal time and work
xiii. Manage one’s own learning and development, including organisational skills.
COURSE EVALUATION
Students will be required to write an examination worth 60% of the final mark. They will also
be required to present work on group projects and do supervised tests comprising course
work the constitutes the 40% of the final course mark.
COURSE STRUCTURE
Week Topic Content Detail Hours
Introduction • Course overview
1 • Context of software development
• Steps involved in creating a software 6

• Concept of software
• Software development tools,
• Imperative programming
Data definition • The different type systems (the various type
structures system implemented in different languages.
• Primitive types (e.g., numbers, Booleans, long,
2,3 float, double, character, strings, enumeration, I/O
format) 6
• Compound types built from other types (e.g.,
records, unions, arrays, lists, functions,
references)
• Association of types to variables, arguments,
results, and fields
• Basic syntax and semantics of a higher-level
Basic syntax language 3
4 and semantics • Values and variables, identifier naming
• Variables and primitive data types (e.g., numbers,
characters, Booleans)
5,6 Algorithms • Logical expressions and assignments 6
• Expression and arithmetic
• Operator precedence and associativity
• The concept of algorithmic operations with
common examples
• Design, efficiency, and coding issues be
addressed
• Sort, search and brute force
Control • Sequencing, input and output statements
structures • One-way selection (if …else)
7 • Two-way selection nested if, 3

• Multiple-way selection (switch)


8 Mid Semester Test
Looping • While structure
9,10 techniques • For, do while, nested loop structure 3
Functions • Prototypes
11 • Parameter passing mechanisms
• Return values and 6

• Scope of variables: local and global


• Pointers
Program • Comments
comprehension • Documentation and program style.
• Errors and warning
12 • Program correctness 3

• Types of errors (syntax, logic, run-time)


• The concept of simple I/O operations including file
I/O
Dynamic • Strings and operation on strings (concatenation,
structures copying, compare, count)
13&14 • One dimensional Arrays 6

• two-dimensional Arrays
• Files (open. Reset, rewrite, read, write)
• Defensive programming (e.g. secure coding,
exception handling)
• The concept of dynamic programming
Final Examination 3
15
Core Reading
Required Book (Textbook)
Paul Deitel and Harvey Deitel, C++ How to Program, Prentice Hall. 8th Edition, (March 25, 2011).
Recommended Books
1. Donald Ervin Knuth: The Art of Computer Programming; McGraw Hill 2006
2. Brian W. Kernighan, Dennis M. Ritchie: C Programming Language; Prentice Hall, 2000.
3. Moffat, A., (2003) Programming, Problem Solving, and Abstraction, Pearson.
4. Programming-Fundamentals-textbook

You might also like