Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dbc2201/glau_bcsc0002

This is the official repository for the course Object-Oriented Programming BCSC0002 for GLA University 2019
https://github.com/dbc2201/glau_bcsc0002

git github gla-university intellij java object-oriented-programming pycharm python

Last synced: 1 day ago
JSON representation

This is the official repository for the course Object-Oriented Programming BCSC0002 for GLA University 2019

Awesome Lists containing this project

README

        

# GLA University, 2019
## Object-Oriented Programming (BCSC0002)
### with Object-Oriented Programming Lab (BCSC0801)

This repository will store all the content relevant to this subject course.
___

### Syllabus
1. Module 1
- **Object-Oriented Programming Features**: Abstraction, Encapsulation, Inheritance and Polymorphism, Procedural Paradigm vs Object-Oriented Paradigm, Advantages of using Object-Oriented Paradigm, [Classes](https://github.com/dbc2201/GLAU_BCSC0002/blob/master/Codes/Module1/SimpleClass.java), Objects, Code-Reusability and data hiding.
- **Introduction to Java Programming Language**: [JDK, JRE, JVM](/Notes/JDK-JRE-JVM.md), [Java's Program Structure](Notes/Java_Program_Structure.md), Java's Class Library, Java Tokens and Scope of variables in Java.
- **Introduction to OOP with Python Programming Language**.
- **Implementing Object-Oriented Programming using Java**: Defining Classes and Methods, Creating objects of a Class, Introduction to Access Modifiers in Java.
- **Constructors in Java**: Introduction to Constructors, Uses, Declaration, Differences between a Method and a Constructor, Types of Constructors, Constructors and Inheritance.
- **Inheritance in Java**: Types of Inheritance in Java, Types of Relationships (Is-a, Has-a), Implementing Inheritance in Java, Revisiting Access Modifiers, Super and Final keywords.
- **Abstract Classes and Interfaces in Java**: Abstract Classes in Java, Defining an Interface in Java, Uses of Interfaces, Interfaces vs Abstract Classes.
- **Packages**: Understanding Packages, Defining a CLASSPATH.
- **Polymorphism**: Introduction, Overloading, Overriding and types of Polymorphism.
- **[Exception Handling](Notes/ExceptionHandling.md)**: Exception and Errors, Types of Errors and Exceptions in Java, Exception Hierarchy, Key Terms (Try, Catch, Finally, Throw and Throws) and Custom Exception.
___

### Prescribed Books
- [An introduction to Object-Oriented Programming with Java Book, Publisher - Prentice Hall](https://www.amazon.in/Introduction-Object-Oriented-Programming-Java-Intl/dp/0071283684?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=_k_EAIaIQobChMIwNywtaPi4wIV2g0rCh14qAudEAQYASABEgKRSvD_BwE_k_&gclid=EAIaIQobChMIwNywtaPi4wIV2g0rCh14qAudEAQYASABEgKRSvD_BwE)
- [Java Fundamentals Book, Publisher - Packt](https://www.packtpub.com/application-development/java-fundamentals)
- [Java Programming Black Book, Publisher - Wiley, DreamTech Press](https://www.amazon.in/Java-8-Programming-Black-Book/dp/9351197581)
- [Java For Dummies Book, Publisher - O'Reilly](https://www.amazon.in/Java-Dummies-Computers-Barry-Burd-ebook/dp/B06XHK2C4N?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=_k_EAIaIQobChMIvu7XvaTi4wIVizgrCh3Z4AVbEAQYBSABEgIX_vD_BwE_k_&gclid=EAIaIQobChMIvu7XvaTi4wIVizgrCh3Z4AVbEAQYBSABEgIX_vD_BwE)
- [Python and Tkinter Programming, Publisher - Manning](https://www.manning.com/books/python-and-tkinter-programming)
- [Think Python Book, Publisher - O'Reilly](https://www.amazon.in/Think-Python-Like-Computer-Scientist/dp/9352134753?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=_k_EAIaIQobChMImoj34qTi4wIVzIBwCh3j4w8ZEAQYASABEgK5WvD_BwE_k_&gclid=EAIaIQobChMImoj34qTi4wIVzIBwCh3j4w8ZEAQYASABEgK5WvD_BwE)
___

### Assignments
- Assignment 2
1. Click on the link for your section and select your name.
[Section A](https://classroom.github.com/a/iH7CLSZE)
[Section E](https://classroom.github.com/a/bOhPWCMT)
[Section F](https://classroom.github.com/a/YLxoC6IS)
[Section M](https://classroom.github.com/a/qvaMgmiJ)
2. Click on accept assignment.
___

### Weekly Quizzes
- Weekly Quiz 1
- Link : http://bit.ly/oop_quiz_1
- Password : bcsc0002.1324
___

- Weekly Quiz 2
- Link : http://bit.ly/oop_quiz_2
- Password : bcsc0002.4657

---

### List of tools
___

1. [Open JDK (Suggested: OpenJDK, version 11 or higher)](https://jdk.java.net), [Oracle Java JDK](https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html) |
- [Installation Steps](Installation/JDK.md)
2. [Python 3.7 or higher](https://www.python.org/downloads/)
3. [Git 2.22.0 or higher](https://git-scm.com/downloads)
4. [GitHub Account](https://github.com)
5. [JetBrains ToolBox App](https://www.jetbrains.com/toolbox/download/download-thanks.html)

___

### Video Links
1. [Object-oriented Programming in 7 minutes | Mosh](https://youtu.be/pTB0EiLXUC8)
2. [Floating Point Numbers | Computerphile](https://youtu.be/PZRI1IfStY0)
3. [JDK, JRE, JVM: What Are They and What Are Their Differences? | The Learn Programming Channel
](https://youtu.be/BXFHuaQNnLo)
4. [Do Software Developers Need Communication Skills? | Programming Tip of the Day - Tim Buchalka](https://youtu.be/Kqq8HQbYEG0)
___
> Repository Author: [Divyansh Bhardwaj](mailto:[email protected]), Technical Trainer, GLAU