20478 Fundamentals of Programming with Java 1

Credits: 4 intermediate credits in Computer Science

Prerequisites: none

Required: The ability to read scientific texts in English

Recommended: One course in Mathematics2

The course is based on lectures (in Hebrew, on the course website) accompanied by slides (in English), as well as Java Foundations: Introduction to Program Design & Data Structures (2nd ed.), by J. Lewis, P. DePasquale and J. Chase (Pearson, 2011).

Objectives: The course serves as an introduction to programming. It deals with basic issues in programming: problem solving, writing and analyzing algorithms, and programming principles. The programming paradigm is Object Oriented Programming (OOP) and the language used is Java.

Topics: Exemplifying the concept of objects through the world of Karel, the robot; Basics of the Java programming language – objects, classes, methods; An explanation of the computer – hardware and software concepts; Flow of control – conditionals and loops; Arrays; Expanding on OOP – inheritance, static and variable methods, method overloading; Sorting and searching algorithms; Recursion; Linked lists; A brief introduction to computability.


1This course does not fulfill the requirements of programs of study in Computer Science.

There is some overlap in the content of this and other courses. For details, see Overlapping Courses.

2Depending on the student’s program of study. Students are advised to consult an advisor in Cognitive Science or in Computer Science.