This document outlines the course details for a Programming Languages Design Concepts course at Hawassa University. The course is a 5 ECTS credit, professional compulsory course for 4th year electrical and computer engineering students. Over 15 weeks, topics will include programming language paradigms, syntax, data types, abstraction, inheritance, polymorphism, sequence control, subprograms, and concurrency delivered through lectures, tutorials, assignments, and labs. Student performance will be evaluated through assignments, a lab, midterm, and final exam.
This document outlines the course details for a Programming Languages Design Concepts course at Hawassa University. The course is a 5 ECTS credit, professional compulsory course for 4th year electrical and computer engineering students. Over 15 weeks, topics will include programming language paradigms, syntax, data types, abstraction, inheritance, polymorphism, sequence control, subprograms, and concurrency delivered through lectures, tutorials, assignments, and labs. Student performance will be evaluated through assignments, a lab, midterm, and final exam.
This document outlines the course details for a Programming Languages Design Concepts course at Hawassa University. The course is a 5 ECTS credit, professional compulsory course for 4th year electrical and computer engineering students. Over 15 weeks, topics will include programming language paradigms, syntax, data types, abstraction, inheritance, polymorphism, sequence control, subprograms, and concurrency delivered through lectures, tutorials, assignments, and labs. Student performance will be evaluated through assignments, a lab, midterm, and final exam.
Department of Electrical and Computer Engineering Program Regular Course Title Programming Languages Design Concepts Course Code ECEg-4706 Degree Program B.Sc. in Electrical and Computer Engineering Module Name Programming Concepts and Software Engineering Module Number Team Leader Course Instructor ECTS 5 (3 Cr.hr) Contact hour per week 2 Lecture hrs. , 3 Tutorial hrs Contact Days ( time Wednesday 8:00 AM – 11:00 AM and room) Friday 2:00 PM – 4:00 PM Target Group IV Year Year/Semester IV/II Prerequisites ECEg -3704 : Object-Oriented Programming Status of the course Professional Compulsory Course Description Definition of programming language, Role of programming languages, Programming environment, Programming Language syntax, Properties of Types and Objects, Elementary Data Types, Structured Data Types, Encapsulation; Abstract Data Types, Type Definitions, Generic Abstract Data Types, Inheritance, Polymorphism, Implicit and Explicit sequence Control, Concurrency and Parallelism Course Objective and To provide students with a working knowledge of the basic constructs of all computer programming languages, and how these constructs are Competency used to support programming under various programming paradigms.
Students completing this course should be able to quickly learn to
effectively use new computer programming languages. Detailed Course Schedule: Contact time, topics and reading materials Week Contact Topic/Subtopic/Chapter Reading Materials Remarks Hour 1st,2nd 10 hours Introduction: Chapter 1 [7] Definition of programming language, Role of programming languages, Why study programming languages, Attributes of good programming language 3rd,4th & 15 hours Language Design Issues: Chapter 4 [5] Programming environment, 5th Virtual Computers and Binding Times, Language Paradigms
Issues: Programming Language syntax, Stages in Translation, Formal Translation Models 8th & 9th 10 hours Data Types: Chapter 6, 11 [7] Properties of Types and Objects, Elementary Data Types, Structured Data Types Abstraction I: Encapsulation; Abstract Data Types, Encapsulation by subprograms, Type Definitions 10th, 11th 15 hours Abstraction II: Chapter 12,8 [7] Inheritance; Generic & 12th Abstract Data Types, Inheritance, Polymorphism Sequence Control: Implicit and Explicit sequence Control, Sequencing with Arithmetic Expression, Sequencing with Non-arithmetic Expression, Sequence control between statements 13th,14th 15 hours Subprogram Control: Chapter 8, 9 [7] Subprogram Sequence & 15th control, Attributes of Data Control, Parameter Transmission, Shared Data in subprograms 16th 5 hours Concurrency and Chapter 13[7] Parallelism: Concept, Communication, Threads, Synchronization Teaching Methodology Lectures supported by tutorials, Assignments, and Laboratory exercises. Assessment Methods Assignments 10%, Laboratory 20%, Mid-semester Examination 20 %, and Final Examination 50%. Course Policies All students are expected to abide by the code of conduct of students throughout this course. Academic dishonesty, including cheating, fabrication, and plagiarism will not be tolerated. Class activities will vary day to day, ranging from lectures to discussions. Students will be active participants in the course. You are required to submit and present the assignments provided according to the time table indicated. 85% of class attendance is mandatory! Please try to be on time for class. I will not allow you enter if you are late more than five minutes. Active participation in class is essential and it will have its own value in your grade Cell phones MUST be turned off before entering the class. References [1] Programming Languages: Design and Implementation-Terrence W.Pratt and Marvin V.Zelkowitz [2] Programming Language Landscape- Michael Marcotty and H. F.Ledgard [3] Programming Languages: Concepts and Constructs, Ravi Sethi [4] Concepts in Programming Language, John C.Mitchel [5] Programming Language Design Concepts [6]Programming Languages: Theory and Practice, Robert Harper [7] Sebesta: Concepts of Programming Language