What do we learn?
- What’s object-oriented programming?
- How to plan multi-components systems the right way?
- How to write code that supports extensions and add-ons?
- How to build graphical applications like games?
- What tools are used by advanced programmers?
- How do developers usually store and work with data?
- How restrict the spread of changes in our code?
- And most importantly: what makes programming such a fun hobby?
Programmers know that programs are built upon the basics of conditions, loops, functions, variables and so on. Is larger software just “more” of these?
Apparently not: another layer is necessary.
Take buildings construction: at the end of the day, is it not a matter of working mortar and stone? The latter does require expertise and experience, but it is not enough: architecture is a separate doctrine, sitting on top of the physical skill, and which is no less necessary for the planning and construction of multi-story buildings.
In the course you’ll get to know the Object-Oriented Programming paradigm, taught and practiced all over the world as a mandatory skill for each and every programmer. We will plan complex software, build minigames, contemplate designs, hone our developing skill, be familiarized with advanced tools, and become software engineers – together with Miri.
Our chosen programming language, with which no prior knowledge is assumed, is Java: one of the most popular choices for writing software bigger than a few files.
The course is of considerable size and will take some intensive work, thought, creativity, and passion. It’s carefully planned to be accessible to anyone with a base in programming, in any programming language, without compromising on the Hebrew University’s standards.
People familiarized with MOOCs will find some new ways of presentation and training that you will hopefully find as enjoyable as we did.
The course was developed and lead by Dan Nirel, with the help of Boaz Mermelstein, Shai Gindin, Hadas Nachshon and Carmel Gross, and with Dr. Roy Schwartz as a consultant.
עצמי:למידה בזמן שמתאים לכם.
מונחה:לוח הזמנים נבנה ע"י צוות הקורס.
The course staff: