This repository will store all the content relevant to this subject course.
- Module 1
- Object-Oriented Programming Features: Abstraction, Encapsulation, Inheritance and Polymorphism, Procedural Paradigm vs Object-Oriented Paradigm, Advantages of using Object-Oriented Paradigm, Classes, Objects, Code-Reusability and data hiding.
- Introduction to Java Programming Language: JDK, JRE, JVM, Java's Program Structure, 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 Constuctors, 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 Relationshops (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: Exception and Errors, Types of Errors and Exceptions in Java, Exception Hierarchy, Key Terms (Try, Catch, Finally, Throw and Throws) and Custom Exception.
- An introduction to Object-Oriented Programming with Java Book, Publisher - Prentice Hall
- Java Fundamentals Book, Publisher - Packt
- Java Programming Black Book, Publisher - Wiley, DreamTech Press
- Java For Dummies Book, Publisher - O'Reilly
- Python and Tkinter Programming, Publisher - Manning
- Think Python Book, Publisher - O'Reilly
-
Assignment 1
Deadline: 24 August 2019, till midnight.
Instructions:
UPDATE: You can simply go to this link here and accept the assignment
Please go to this link even if you have manually downloaded the assignment! How to clone the repository to attempt the assignment.- Go to the link of the assignment repository.
- Clone the repository by using either the Official JetBrains Toolbox extension for Chrome, here or simply clicking the big green clone/download button and the copying th URL inside it.
- If you have copied the URL of the repo, follow these steps,
- Open IntelliJ IDEA.
- Click File > New > Project From Version Control > Git.
- At the prompt, enter/paste the assignment repo URL that you copied.
- Click on test, if the test is successful, click clone. (Please check your internet connection before attempting to clone)
- If you simple cloned the repo from the extension button, everything will be done for you, simple click the clone button.
- Go to the
Gravity.java
file and get coding!
How to submit the answer.
- Initialize a
Git
repository inside your cloned assignment project.
- Go to VCS > Import into Version Control > Create Git Repository.
- A window will open up, on the top-left side, there will be a folder-like icon, click it and press
OK
. - On the bottom-right side of your IntelliJ,
Git: master
will appear.
- Commit your answer with the shortcut
ctrl + K
.
- It is a good practice to commit for every change and provide meaningful commit messages. Here is a comprehensive guide to writing commit messages.
- Then, share the project on
GitHub
, go to VCS > Import into Version Control > Share Project On GitHub. - You work is done!
- Optional: If you want to make changes to your answer, you can simple change the code, commit it again and
use this shortcut,
ctrl + shift + K
and pressOk
.
- 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
- Object-oriented Programming in 7 minutes | Mosh
- Floating Point Numbers | Computerphile
- JDK, JRE, JVM: What Are They and What Are Their Differences? | The Learn Programming Channel
- Do Software Developers Need Communication Skills? | Programming Tip of the Day - Tim Buchalka
Repository Author: Divyansh Bhardwaj, Technical Trainer, GLAU