CSE111

Programming Language 2

CSE111: Programming Language 2

Offered:

Pre-requisite: CSE110


This course would be an introduction to data structures, formal specification, and syntax of Object Oriented Programming (OOP), elements of language theory, and mathematical preliminaries. Other topics that would be covered are formal languages, structured programming concepts, and a survey of the features of existing high-level languages. Students would design and write applications using an appropriate language. The course includes a compulsory 3-hour laboratory work each week.

Course Objectives

- Contrast between Procedural Programming and Object-Oriented Programming(OOP) and demonstrate the way OOP divides complex problems into smaller parts encouraging modular development.
- Introduce the students to the fundamental concepts of Object-Oriented Programming Language like classes, objects, and their properties, and apply them to model real-world applications.
- Enlighten the students about the differences between different types of access modifiers and their importance in encapsulation.
- Explain the rudimentary principles of inheritance and polymorphism and how they can be applied to minimize the complexity of an object-oriented program through code reusability and make it scalable.
- Familiarize the students with the concept of abstract classes, abstract methods, and their application in setting standards for other classes inheriting them.

List of Books

1. Python Crash Course: A Hands-On Project-Based Introduction to Programming, Eric Matthes, 2019, 2nd, No Starch Press, ISBN-13: 9781593279288

2. Introduction to Computation and Programming Using Python, John V. Guttag, 2016, 2nd, The MIT Press, ISBN-13 ‏ : ‎ 978-0262529624

Course Materials

Text and Reference Books, Lab usage manual, Programming IDE (Jupyter Notebook, Google Colab, Spider)

Course Outcome

# Description Weight Edit

CO1

Understand the fundamental entities of Object-Oriented Programming(OOP), including the concepts of class, object, constructor, instance variables, and methods, and how they are used to model real-world entities and their behaviors.

25

CO2

Infer outputs from the logical sequence of a program consisting of a combination of OOP attributes and methods satisfying the fundamental concepts of procedural programming.

15

CO3

Apply access modifiers such as private, public, and protected to control the visibility of instance properties and use class-level variables and methods, to demonstrate their importance in ensuring data encapsulation, information hiding, and memory management.

30

Course Lectures

Week Lecture CO Map

Week 1

Fundamentals of collection

N/A

Week 2

Functions and file I/O

N/A

Week 3

Class, object, constructor, instance variables and methods

CO1

Course Coordinator

Mr. Salman Sayeed Khan


©2024 BracU CSE Department