CPEN 309 — Programming Language Fundamentals
Computer Engineering · University of Ghana
History and overview of programming language from FORTRAN to modern languages such as Java, including reasons for the study of programming fundamentals, challenges and techniques involved in designing programming languages, and role of programming fundamentals in computer engineering. Programming paradigms: procedural and functional programming, object oriented design, encapsulation and information hiding, separation of behavior and implementation, classes and subclasses and inheritance, event driven programming. Syntax and Semantics of programming: basic syntax and semantics of high level language, variables and types, expressions and assignments, simple input-output, conditional and iterative control structures, functions and parameter passing. Algorithms and problem solving: problem solving strategies, role of algorithms in problem solving, algorithms implementation strategies, debugging strategies, algorithm properties and concepts, structured decomposition. Data structures: primitive types, arrays, records, strings and string processing, data representation in memory, stack and heap allocation, runtime storage management, pointers and references, linked structures, implementation for stacks and queues and hash tables, implementation for graphs and trees, strategies for choosing right data structure. Recursions: concept of recursion, recursive mathematical functions, divide-and-conquer strategies, recursive backtracking, implementation of recursion. Using APIs: API programming, class browsers and related tools, programming by example, debugging in API environment, component based computing, middle ware.
- Credits
- 3
- Level
- Level 300
Other courses on this programme
- CPEN 201 — C++ Programming
- CPEN 301 — Signals and Systems
- CPEN 302 — Computer Systems Engineering
- CPEN 303 — Computer Architecture
- CPEN 304 — Digital Signal Processing
- CPEN 305 — Computer Networks
- CPEN 306 — Microelectronic Devices and Circuits
- CPEN 307 — Operating Systems
- CPEN 308 — Fundamentals of Information Transmission
- CPEN 312 — Object Oriented Programming with Java
- CPEN 314 — Industrial Practice
- CPEN 102 — Introduction to Database Systems
Practising CPEN 309 with Questora
Upload your own slides, notes and past papers for CPEN 309 and Questora builds mock exams, practice questions and a revision plan from them.
Start freeCourse details from University of Ghana Volume 3 Handbook for the Bachelor's Degree: Course Descriptions for Programmes in the Sciences (2017).