Programming in C, C++, and Java Courses
Introduction to hardware and software tools. CPU, memory, disks and files. Program development flow. Introduction to C programming: lexical elements, operators, fundamental data types, flow of controls, functions, recursions, arrays, pointers, strings, bit-wise operators, structures, unions, file manipulation. Students learn structured programming paradigm.
Primitive types. Strings. Classes. Objects. Methods. References. Polymorphisms. Inheritance. Exception handling. Streams and file I/O. Arrays. Vectors. Applets and Introduction to threaded programming. Students are introduced to the object oriented paradigm.
C++ PROGRAMMING: OBJECT ORIENTED PROGRAMMING
Non-object oriented features of C++. Constructors and Destructors. Type Coversions. Friends. Overloading functions and operators. References. Polymorphisms. I/O streams. Multiple Inheritances. Templates. Memory Management. Students practice the object oriented paradigm.
OBJECT ORIENTED ANALYSIS AND DESIGN
Object oriented analysis. Object oriented software design in C++/Java. Objects. Classes. Inheritance. Polymorphism. Managing compkexity with Abstraction. Liskov principle. Object modeling. Case studies of object oriented design. Memory management. Exception handling. Some design patterns. Students apply object oriented analysis, design, programming techniques to complete a software project.
This course will cover topics such as Java threaded programming, collection, networking, database connectivity, remote objects, swing, security, internationalization, naive methods.
ADVANCED C++ PROGRAMMING
Focus on topics such as multiple inheritance, virtual base class, virtual functions, smart pointers, run time type information, template meta programming, generic programming, concurrency in C++, applications to game engine.