• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Object-Oriented Programming

2024/2025
Academic Year
ENG
Instruction in English
9
ECTS credits
Delivered at:
Department of Information Systems and Technologies (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Compulsory course
When:
1 year, 1 module

Course Syllabus

Abstract

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals —— and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about. This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science. Our goal is that by the end of this course each and every one of you feels empowered to create a Java program that’s more advanced than any you have created in the past and that is personally interesting to you. In achieving this goal you will also learn the fundamentals of Object Oriented Programming, how to leverage the power of existing libraries, how to build graphical user interfaces, and how to use some core algorithms for searching and sorting data. And this course is project-based, so we’ll dive right into the project immediately! We are excited to be offering a unique course structure, designed to support learners of different backgrounds in succeeding at their own pace. The first module explains how this will work and if this course is right for you. We also recommend taking a few minutes to explore the course site. A good place to start is the navigation bar on the left. Click Course Content to see what material we’ll cover each week, as well preview the assignments you’ll need to complete to pass the course. Click Discussions to see forums where you can discuss the course material with fellow students taking the class. Be sure to introduce yourself to everyone in the Meet and Greet forum. This course should take about 6 weeks to complete. You can check out the recommended course schedule below to see a quick overview of the lessons and assignments you’ll complete each week. We’re excited you’re here learning with us. Let’s get started! https://www.coursera.org/learn/object-oriented-java
Learning Objectives

Learning Objectives

  • The aim of the course is to make students discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines, as well as to communicate these designs in a visual notation known as Unified Modelling Language (UML)
Expected Learning Outcomes

Expected Learning Outcomes

  • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design
  • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem.
  • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization).
  • Translate between UML class diagrams and equivalent Java code.
Course Contents

Course Contents

  • Object-Oriented Analysis and Design
  • Object-Oriented Modeling
  • Design Principles
Assessment Elements

Assessment Elements

  • non-blocking Final project
  • non-blocking Weekly Quizzes
Interim Assessment

Interim Assessment

  • 2024/2025 1st module
    0.4 * Final project + 0.6 * Weekly Quizzes
Bibliography

Bibliography

Recommended Core Bibliography

  • Gamma, E., Helm, R., Johnson, R. E., & Vlissides, J. (2009). Design Patterns : Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1599365

Recommended Additional Bibliography

  • Marc Loy, Patrick Niemeyer, & Daniel Leuck. (2020). Learning Java : An Introduction to Real-World Programming with Java. O’Reilly Media.

Authors

  • EFREMOV SERGEY GENNADEVICH