Scala Programming for Java Developers

Scala Programming for Java Developers

Bascom Bridge’s Scala training teaches Java developers how to build applications using Scala. Scala is a programming language built on top of the JVM that integrates functional programming with Java’s object-oriented programming model, with a goal of enabling developers to build applications more rapidly and efficiently.



  • Program in Scala
  • Understand Scala’s approach to object-orientation
  • Master the use of functional programming techniques in Scala
  • Understand how to perform TDD (test-driven development) using Scala
  • Manipulate XML in Scala
  • Write concurrent applications that are thread-safe


Attendees should be strong Java developers planning to develop Scala applications.


All students receive comprehensive courseware and a related textbook.


  • JDK 7 or 8 (6 could be accommodated upon request)
  • A recent version of Scala installed
  • Scala IDE (based on Eclipse) is recommended; we would be happy to discuss using another Scala-aware IDE if you prefer it
  • For classes delivered online, all participants need either dual monitors or a separate device logged into the online session so that they can do their work on one screen and watch the instructor on the other. A separate computer connected to a projector or large screen TV would be another way for students to see the instructor’s screen simultaneously with working on their own.


  • Introduction to Scala
    • A brief history of the Java platform to date
    • Distinguishing between the Java language and platform
    • Pain points when using Java for software development
    • Possible criteria for an improved version of Java
    • How and why the Scala language was created
  • Key Features of the Scala Language
    • Everything is an object
    • Class declarations
    • Data typing
    • Operators and methods
    • Pattern matching
    • Functions
    • Anonymous and nested functions
    • Traits
  • Basic Programming in Scala
    • Built in types, literals and operators
    • Testing for equality of state and reference
    • Conditionals, simple matching and external iteration
    • Working with lists, arrays, sets and maps
    • Throwing and catching exceptions
    • Adding annotations to your code
    • Using standard Java libraries
  • OO Development in Scala
    • A minimal class declaration
    • Understanding primary constructors
    • Specifying alternative constructors
    • Declaring and overriding methods
    • Creating base classes and class hierarchies
    • Creating traits and mixing them into classes
    • How a Scala inheritance tree is linearized
  • Functional Programming in Scala
    • Advanced uses of for expressions
    • Understanding function values and closures
    • Using closures to create internal iterators
    • Creating and using higher order functions
    • Practical examples of higher order functions
    • Currying and partially applied functions
    • Creating your own Domain Specific Languages(DSL’s)
  • Pattern Matching in Depth
    • Using the match keyword to return a value
    • Using case classes for pattern matching
    • Adding pattern guards to match conditions
    • Partially specifying matches with wildcards
    • Deep matching using case constructors
    • Matching against collections of items
    • Using extractors instead of case classes
  • Test Driven Development in Scala
    • Writing standard JUnit tests in Scala
    • Conventional TDD using the ScalaTest tool
    • Behavior Driven Development using ScalaTest
    • Using functional concepts in TDD
  • XML Manipulating in Scala
    • Working with XML literals in code
    • Embedding XPath like expressions
    • Using Pattern Matching to process XML data
    • Serializing and deserializing to and from XML
  • Writing Concurrent Apps
    • Issues with conventional approaches to multi-threading
    • How an actor-based approach helps you write thread-safe code
    • The Scala architecture for creating actor-based systems
    • Different coding styles supported by the actor model
  • Conclusion

Send a Comment

Your email address will not be published.


+91 9376007676  


Scala Programming for Java Developers

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
  • Course No : SCA-100
  •  Theory : 40%
  •  Lab : 60%
  • Duration : 24 hours
Scroll Up
Skip to toolbar