Elective courses

Machine learning and artificial intelligence

What is machine learning and artificial intelligence?

The information revolution of recent decades has seen a dramatic leap in the volume and complexity of the big data being collected. Effective information processing and analysis are becoming ever-more critical for dealing with these volumes. Artificial intelligence is currently a core activity of almost any major company – including Amazon, Google, Apple, Facebook, and numerous startups in Israel and worldwide.

This course concerns the theoretical and algorithmic foundations of artificial intelligence and machine learning. The course will provide tools and techniques for effective big data storage and processing (such as distributed storage and cloud processing), and cover fields of applied knowledge such as computer vision and natural language processing, where AI applications can currently achieve near-human results.

Information security and cybersecurity

What is information security and cybersecurity?

Information security and cybersecurity are gaining in popularity, and are some of the strongest and fastest-growing fields in both academia and the job market.

The massive data stored on computers and digital systems is an attractive target for attacks by hostile parties, and cyber attacks are posing an ever-growing threat to private individuals, companies, defense systems, national infrastructures, and government agencies. Information security is concerned with defending against cyber attacks through the prevention or rapid identification of attacks, as well as activating defense and recovery measures.

This course teaches students about the inherent weaknesses of software systems and networks, and the tools for identifying the risks stemming from those weaknesses. Students are familiarized with various types of cyber attacks and their potential consequences; protections against cyber attacks and a toolbox for their implementation, including secure methods for system development; the ability to define and understand information security needs at organizations; and various advanced technologies.

Computer vision

What is computer vision?

Computer vision enables to automatically process images and video, and to extract visual information from them – such as analyzing real-world 3D properties based on visual input; and algorithms and representations that allow machines to identify objects, people, places, scenarios, and activities. Computer vision applications help people to better perform their tasks, and improve human-machine interfaces.

This course will teach students about computer vision and its applications. The course will cover image production and representation, image recognition properties, and image processing by space and frequency. Students will learn basic computer vision techniques and how to classify them; and will acquire the ability to analyze a single image and then design and apply computer vision algorithms. The course will provide students with hands-on experience on computer vision software tools (including numeric processing and machine learning, in a Python environment and others).

Introduction to mobile applications

The move to smartphones has given users a limitless range of options and abilities. The growth of the mobile world presents software developers with new and different challenges: learning new languages and work environments, as well as new technologies such as cloud computing; providing solutions to effective computation; and more. Additionally, developers need to build solutions that address the typical properties of mobile applications – the portable device, the small screen, the limited battery life, and so on – as well as to adapt user experience to the unique mobile work environment.

The course will equip students with the vital tools and knowledge needed to deal with the world of mobile apps, and to build applications for mobile devices. The course will focus on the Android operating system, through which students will learn and practice the aspects that go into building mobile apps.