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.
SCALA TRAINING OBJECTIVES
- 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
SCALA TRAINING PREREQUISITES
Attendees should be strong Java developers planning to develop Scala applications.
SCALA TRAINING MATERIALS
All students receive comprehensive courseware and a related textbook.
SOFTWARE NEEDED FOR EACH PC:
- 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.
SCALA TRAINING OUTLINE
- 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
CONTACT US
+91 9376007676INQUIRY NOW
Scala Programming for Java Developers
Scala Programming for Java Developers






- Course No : SCA-100
- Theory : 40%
- Lab : 60%
- Duration : 24 hours
Attendees should be strong Java developers planning to develop Scala applications.