20441 Introduction to Computer Science Using Java 1

Credits: 6 intermediate credits in Computer Science

Prerequisites: none

Required: The ability to read scientific texts in English

Recommended: One course in Mathematics

The course is based on lectures (in Hebrew, on the course website) accompanied by slides (in English), as well as Java Software Solutions: Foundations of Program Design (7th ed.), by J. Lewis and W. Loftus (Pearson Education, 2012).

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

In a single semester, this course includes all the material taught in Introduction to Computer Science Using Java I (20453) and Introduction to Computer Science Using Java II (20454). Students considering taking the course need to keep in mind that a large amount of material is covered, and in case of doubt, should contact an academic advisor in Computer Science.

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, packages, polymorphism and interfaces; Sorting and searching algorithms; Recursion; Linked lists, stacks and queues, trees and binary trees; A brief introduction to computability.

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