Java for C# Programmers

The Java for C# Programmers training course provides the in-depth examination of the Java language and platform required for C# developers to effectively and rapidly transition to Java. This course is aimed at proficient C# programmers that need to learn Java to port an existing C# program to Java.

Course Summary

Purpose: 
Translate your existing C# programmers skills into Java programming skills
Audience: 
C# developers looking to adopt Java
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On
Duration: 
4 Days
Productivity Objectives: 
  • Understand the core Java language syntax, execution structure, and deployment model
  • Describe the similarities and differences between the Java and C# languages
  • Describe the similarities and differences between the Java and .NET platforms
  • Port a simple file processing application from C# to Java
Java for C# Programmers is part of the Java SE Training curriculum.

What You'll Learn

In the Java for C# Programmers training course you’ll learn:

  • What is Java
    • Understanding the Java platform (JRE)
    • Understanding the Java Development Kit (JDK)
    • Java the programming language
    • Using Eclipse for Java development
  • Java Concepts for C# Developers
    • Applying OO concepts to Java
    • Creating a basic Java application
    • Basic Java Syntax
    • Flow control
  • Understanding Object Inheritance in Java
    • Types of inheritance supported
    • Inheritance through subclassing
    • Default initialization
    • Constructor-based initialization
    • Modifying the construction process
  • Creating well-formed Java Objects
    • equals v. ==
    • hashCode
    • toString
    • Constructor “hierarchies”
  • Object Inheritance using Interfaces
    • Advantages of interfaces over subclassing
    • Creating an interface
    • Implementing an interface
  • Static Class Design
    • Understanding static (class) versus instance (object) design
    • Creating static variables
    • Creating static methods
    • Creating static initializers

  • Advanced Java Design
    • Packages
    • Access modifiers
    • Enumerations
  • Working with Java Exceptions
    • What is an Exception?
    • RunTime v. Application Exceptions
    • Writing code to handle exceptions
    • Creating your own Exception types
  • Overview of the Java SE API
    • Lang
    • IO
    • Collections
    • Swing
    • Accessing libraries
    • java.util.Logging
  • Text Processing in Java
    • Basic text processing using StringBuilder
    • Text formatting with java.text
    • Resource bundles and properties
    • Internationalization
  • Working with the Logging library
    • What is the logging library
    • Configuring the logger
    • Using a logger
    • Logging exceptions

  • Working with Collections
    • Understanding the collection types
    • Choosing List, Set, or Map
    • Creating type-safe collections with Generics
    • Ordering, Searching, and Converting Collections
  • Understanding Java Threads
    • What is a Thread
    • Creating and controlling Threads
    • Preventing data corruption
    • Determining Thread’s state
    • Working with StackTraces
    • Advanced Java Threads
  • Introduction to Concurrent Libraries
    • Collection Modifications and Concurrent Collections
    • Task Scheduling Framework
    • Synchronizers
    • Locks
    • Atomic Variables
    • Timing

  • Working with I/O
    • Understanding the difference between java.io and java.nio
    • Creating a basic read/write File application
    • Advanced I/O with Serialization and data input/output streams
    • Implications of using java.io on other operating systems
    • Implementing java.nio solutions
  • Network Programming with Java
    • Overview of java.net capabilities
    • TCP Socket programming
    • Working with URLs and URL Protocol handlers
  • Java EE & EJB Introduction
    • What is Java EE?
    • Working with Java EE.
    • Overview of Enterprise Java Beans
    • EJB Types and capabilities
    • Implementing EJB Session beans
    • Packaging EJBs
  • Introduction Database Programming with Java (1 – 2 hrs)
    • Performing CRUD (create-read-update-delete) operations with JDBC
    • ORM DB programming JPA
  • Java Persistence API
    • Obtaining An EntityManager
    • CRUD of An Entity
    • POJO Transactions
    • Queries
    • Using JPA with EJB
  • Unit Testing and Automated Builds
    • Working with Annotations
    • Unit Testing with JUnit
    • Automated builds with Ant and Maven
  • Java Performance Tuning Concepts
    • Understanding the JVM architecture
    • JVM Analysis
    • Heap v. Stack optimization

Meet Your Instructor

Kelby Zorgdrager

Kelby Zorgdrager, is the President and Founder of DevelopIntelligence.

Kelby, a serial entrepreneur, has started 2 successful businesses in his career. Much of his career has been focused on leveraging technologies to create robust, scalable, and extensible solutions. Kelby has held just about every position possible in the technology world, from tech support to CTO. Kelby's expertise in Java, Open Source, and software development, have allowed him to be a guest speaker at JavaOne, Java University, Comdex,...

Meet Kelby Zorgdrager »
Simon Roberts

Simon Roberts has over 15 years of experience defining, developing, and delivering software development training programs.

As a Senior instructor and courseware developer for Sun Microsystems, Mr. Roberts developed and delivered Java training courses for Sun Educational Services internal and external customers. While at Sun, Mr. Roberts was a guest presenter at JavaOne, Java University and other software trade shows. Mr. Roberts most significant accolade was his work as the development lead in the design,...

Meet Simon Roberts »
Michael McClure

Michael McClure is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has been designing and implementing large-scale, enterprise-grade Java-based applications at major telecommunication and internet companies such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.

Michael has a passion for learning new technologies / patterns / paradigms. (Or, he has a tendency to get bored or disappointed with current...

Meet Michael McClure »
Jean Leong

Jean Leong brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis and design. Jean has worked in every stage of the software development process for a variety of businesses, from small non-profits to government agencies to global enterprises.

Jean was also one of the top instructors at Sun Microsystems in North America and Europe. At...

Meet Jean Leong »

Related Courses

Once you've completed this course, deepen your knowledge by taking: 

Develop Your Intelligence

Contact us to begin the personalization process.

We'll work with you to design a personalized,
relevant learning solution that's budget friendly.

Questions? Answered.

Problem? Solved.


They Liked Us.




You will too.

Learn About The DI Way

Everyone learns more when it's personally relevant. Yes - It's that simple!

Contact Us

Contact DevelopIntelligence

Please fill out the information below to have a DevelopIntelligence Learning Solutions Architect contact you within 1-business day. If you would like immediate live help, please call (877) 629-5631.

Because we value your privacy, we don’t share your information. We’ll only use it to help you find the best personally relevant learning solution.

Need help finding the right learning solution? Call us: 877-629-5631