To introduce the students to computers and impart fundamental programming skills prerequisite to the more substantial computer oriented topics in the coming semesters which are ultimately necessary to reach a threshold level of competence in software engineering, computer engineering and program implementation in the BSc Electronics Engineering degree.
Introduction to Computers
History and Overview
• Describe the basic components and functionalities of a computer system.
• Identify the types of programming languages needed for engineering problem solving
• Explain what is meant by software.
• Understand the concept of the Operating Systems (types and usage).
• Understand the use of Compilers and interpreters
Programming Fundamentals
History and Overview
• Define the meaning of algorithm and data structure.
• Know the reasons that a way to solve problems is by using algorithms.
• Identify the difference between various programming paradigms.
Programming Constructs
• Analyze and explain the behavior of simple programs involving fundamental programming constructs.
• Write a program that uses each of the following fundamental programming constructs: basic computation, simple I/O,
standard conditional and iterative structures, and the definition of procedures and functions.
Data Structures
• Identify data structures useful to represent specific types of information and discuss the tradeoffs among the different
possibilities.
• Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash
tables.
• Describe the way a computer allocates and represents these data structures in memory.
Recursion
• Explain the concept of recursion.
• Explain the structure of the divide-and-conquer approach.
• Write, test, and debug simple recursive functions and procedures.
• Describe how recursion can be implemented using a stack.
Introduction to Algorithms
History and Overview
• Associate some of the themes involved with algorithms.
• Name some applications where algorithms are important.
• Describe how computer engineering uses or benefits from algorithms.
Basic Algorithmic Analysis
• Use big O, omega, and theta notation to give asymptotic upper, lower, and tight bounds on time and space complexity of
algorithms.
• Determine the time complexity of simple algorithms.
• Deduce the recurrence relations that describe the time complexity of recursively-defined algorithms, and solve simple
recurrence relations.
Algorithmic Strategies
• Design an algorithm using a fundamental algorithmic strategy including brute-force, greedy, and divide-and-conquer
strategies.
Introduction to Database Systems
History and Overview
• Explain how knowledge differs from information and data.
• Identify components of a database system.
• Identify some common query languages.
• Articulate the purpose of a data model.
• Describe how computer engineering uses or benefits from database systems and information management.
Database Systems
• Explain the characteristics that distinguish the database approach from the traditional approach of programming with data
files (file-oriented repositories).
• Cite the basic goals, functions, models, components, applications, and social impact of database systems.
• Describe the components of a database system and give examples of their use.
• Use a query language to elicit information from a database.
Data Modeling
• Categorize data models based on the types of concepts that they provide to describe the database structure.
• Compare and contrast the basic principles of the relational data model and those of the object-oriented model as they apply to computer engineering applications.
Practical/ Lab Based Coursework: 24%
Incourse Assessments: 46%
Tutorials/Assignments: 30%
Upon successful completion of ECNG 1009, students will be able to:
Required Readings
1) Kalicharan, Noel. 2005. C Programming – A Beginner’s Course. Freeport: H.E.M. Enterprises Limited.
2) Kalicharan, Noel. 2006. C Programming – An Advanced Course. Lulu.
Other Resources
1) myelearning Course Support Website