Scala Programming HIT October 2012 <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>INFO</a></font>
During the first semester of the 2012-2013 academic year that takes place in HIT, I deliver an academic advance course for learning Java and Scala. This course is delivered as part of the academic program for BSc in computer science. You can find the google group of this course at https://groups.google.com/forum/#!forum/hit-scala-october-2012. You can find the […]
Java EE Platform Shenkar October 2012 <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>INFO</a></font>
During the first semester of the 2012-2013 academic year I deliver an advance academic course about the Java EE platform. The course covers the basic topics in Java EE development, including Java Servlets, JSP, JSF and Hibernate. The course is part of the four years academic program for getting an academic degree in Software Engineering. […]
Android Hybrid Applications Tel Hai October 2012 <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>INFO</a></font>
During the first semester (winter semester) of the 2012-2013 academic year I deliver an academic course that covers mobile hybrid applications development for the android platform. This course takes place as part of the academic program in computer science that takes place in the Tel Hai college. You can find the google group that was […]
Java EE Platform Tel Hai October 2012 <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>INFO</a></font>
During the first semester of 2012-2013 academic year I deliver a Java EE course in the Academic Tel Hai college. The official name of that course is ‘Internet Programming’ and it covers the very basic topics in Java EE, including Java Servlets, JSP and JSF. You can find the google group of this course at […]
By Name Parameters in Scala <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
When calling a function and passing over an argument which is an expression that needs to be evaluated, the expression will be evaluated before the function is invoked and its value will be passed over. This is the default behavior. By adding => in between the parameter name and its type we will defer the […]
Function Type in Scala <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
Scala allows us to define variables, function parameters and function returned values with a type that is a function. We can even specify the exact signature of that function. import annotation.tailrec object Program { def main(args: Array[String]):Unit = { var func:(Int,Int)=>Int = sum; println(func(4,3)) func = multiply println(func(4,3)) } def sum(a:Int,b:Int):Int = a+b def multiply(a:Int,b:Int):Int […]
Tail Recursive Function in Scala <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
If the last action a function performs is calling to itself then it is a tail recursive function. When a tail recursive function is executed the computer doesn’t need to keep the memory stack frames. It can use one frame only. Using the @tailrec annotation we can instruct the computer to use one frame only […]
Multiple Lines Expressions in Scala <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
When having an expression that spans over more than one line the compiler might evaluate the expression while avoiding parts of the expression. We can overcome this problem in two ways. This video clip explains this issue.
Blocks in Scala <font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
The definitions within a block are visible from within the block only. The definitions within a block shadow definitions with the same names that belong to the block’s outer scope. The block has a value just as any other expression. Its value is the value of the last expression it includes. object Program { def […]
Scala Worksheet using IntelliJ<font size=-2><a href=http://www.lifemichael.com/en/?page_id=73 target=_blank>PRO</a></font>
The following short video clip shows how to create a Scala worksheet when using the IntelliJ IDE. Using a worksheet we can strength our understanding of the Scala programming language.