Advanced Java Concepts Dr Jeyakesavan Veerasamy jeyvutdallas edu

  • Slides: 9
Download presentation
Advanced Java Concepts Dr. Jeyakesavan Veerasamy jeyv@utdallas. edu

Advanced Java Concepts Dr. Jeyakesavan Veerasamy jeyv@utdallas. edu

Dr. V. Jeyakesavan: Academia, Industry & Personal • Dad was a school teacher •

Dr. V. Jeyakesavan: Academia, Industry & Personal • Dad was a school teacher • B. E. (ECE) in CEG Guindy, Anna University – 1986 -90 • UNIX System Software Engineer, HCL Limited, Chennai, 1990 -91 • MS Computer Science, University of Texas at Dallas (UTD), 1991 -94

Dr. V. Jeyakesavan: Academia, Industry & Personal … • Telecom Software Engineer, Northern Telecom,

Dr. V. Jeyakesavan: Academia, Industry & Personal … • Telecom Software Engineer, Northern Telecom, Dallas, 1994 -97 • Ph. D. Computer Science (part-time), University of Texas at Dallas (UTD), 1994 -99 • Technical Lead, Samsung Telecom, 1997 -2010 • Got married in 1998 • Adjunct Faculty, UTD CS department, 1999 -2002 • Online Adjunct Faculty in several online universities from 2000

Dr. V. Jeyakesavan: Academia, Industry & Personal … • Adjunct Faculty, Southern Methodist University,

Dr. V. Jeyakesavan: Academia, Industry & Personal … • Adjunct Faculty, Southern Methodist University, 2010 • Sr. Lecturer (full-time), UTD Computer Science, 2010 -present • 2 daughters: Nila (8) and Chinmayee (4) • Passionate about teaching – happy to share ideas to improve teaching quality in colleges

Dr. V. Jeyakesavan: Summary • 18 years experience as Software Engineer • 12 years

Dr. V. Jeyakesavan: Summary • 18 years experience as Software Engineer • 12 years of teaching experience

Get started… • Introduction • Classes & Objects • Garbage collection & other differences

Get started… • Introduction • Classes & Objects • Garbage collection & other differences compared to C++ • Inheritance

Logistics & Goals • Interactive & enjoyable Classroom • Call me as Jey –

Logistics & Goals • Interactive & enjoyable Classroom • Call me as Jey – no formalities - Treat me like a friend & co-worker! • Show & play with hands-on examples • Enhance your Java skills and knowledge • I do not know everything, but I do have resources to get answers • Questions?

Advanced Topics Topic Description Standard Template Library (STL) Complex Data Structures Exceptions Unique mechanism

Advanced Topics Topic Description Standard Template Library (STL) Complex Data Structures Exceptions Unique mechanism to pass the control around & help in debugging Recursion Core CS concept – less about Java Applets, GUI based games Event based programming Multi-threading Parallelization and Synchronization Design Patterns Advanced Software Design concepts JUnit testing Unique testing ideas for Java programs JDBC connectivity Database connectivity Greenfoot Enjoyable IDE to learn advanced Java RMI, Enterprise Java, Java. Beans, Java Serv. Lets, Java Packages

C++ vs. Java: differences C++ Java Write once, compile everywhere unique executable for each

C++ vs. Java: differences C++ Java Write once, compile everywhere unique executable for each target Write once, run anywhere same class files will run above all target-specific JREs. No strict relationship between class names and filenames. Typically, a header file and implementation file are used for each class. Strict relationship is enforced, e. g. source code for class Pay. Roll has to be in Pay. Roll. java I/O statements use cin and cout, e. g. cin >> x; cout << y; I/O input mechanism is bit more complex, since default mechanism reads one byte at a time (System. in). Output is easy, e. g. System. out. println(x); Pointers, References, and pass by value are supported. No array bound checking. Primitive data types always passed by value. Objects are passed by reference. Array bounds are always checked. Explicit memory management. Supports destructors. Automatic Garbage Collection. Supports operator overloading. Specifically operator overloading was left out.