BOOTCAMP: 64-Bit Programming in C++

Posted on March 28, 2008 by Univ.-Doz. Dr. Schneider 
Filed Under Bootcamps, C++, Certification acc. to ISO/IEC 17024, IITAC Bootcamps, Live Bootcamp, Software Development, Software Engineering, Training


June 19, 2008 9:00 amtoJune 21, 2008 4:00 pm
August 21, 2008 9:00 amtoAugust 23, 2008 4:00 pm
October 2, 2008 9:00 amtoOctober 4, 2008 4:00 pm
November 13, 2008
9:00 am

64-bit technology introduces several new and complex tasks for software-developers. Even that the hardware developing industry claims that future software development should take care about the new introduced compiler systems, it is necessary to have a deep inside view on how the new underlying 64-bit assembly language works. This article describes what 64-bit means for future software developments, how 64-bit influences assembly programming and how to port applications programmed under 32-bit to 64-bit. It is heavy based on the IA architecture and the Windows® operating system.

The introduction of the 64-bit technology leads into several discussions if this change is really necessary. Some arguments are to speed up computation time or to make calculations more precise. These efforts lead into hard problems which have to be solved by upcoming compilers or operating systems. Especially the necessary change of the operating system infrastructure causes heavy problem porting older 32-bit applications to 64-bit compatibility. Since assembly programming is a comfortable task under 32-bit systems (e.g. MASM, TASM, NASM, FASM and others), the question stays on how to port software and which changes of the architecture affects the current programming techniques. The new 64-bit Architecture introduces many innovations. Some of them are:

Compared to the IA-32 architecture the new IA-64 architecture allows several advantages for the programmer. One of them is the clear and explicit programming technique which results in EPIC (Explicit Parallel Instruction Computing). EPIC is an Intel® IA-64 technique. Additional the programmer can code now more register-based, which means that everything is kept in registers as long as possible. The resulting assembly is code has a clear structure.

This bootcamp was designed for students who already have a basic understanding of programming and want to learn the art of coding in C++. Eclipse IDE and GCC are the main programs that will be used along with several other public tools that will be distributed on-site and software will be created by the student themselves as a learning objective. Some advanced programming techniques will also be taught such as:

In this 3 day hands-on course, you will gain the necessary skills to discover the true nature of any C++ binary. You will learn how to recognize the high level language constructs (such as branching statements, looping functions and STL) critical to performing a thorough and professional development of a binary. After learning these important introductory skills, you will advance to:

IITAC will train you on the standard C++ development IDE Eclipse.

The content in detail

How You Benefit

The demand for C++ developers as highly increased during the recent past years, leading toward a more recognised profession. Software developers are highly regarded in the world of IT, with an ever-growing need for more qualified and experienced experts. Getting a better-understanding of the inner workings of the software system and application-level debugging is time-saving during software development. Knowing how to find more detailed information about bugs and solving them yourself, giving you the knowledge to draw more accurate conclusions based on programming knowledge rather than seeking the web for an hypothetical answer. By getting training with real-world problems and the latest tools and techniques, you will stay a step ahead of the others when competing for the same position. C++ will always an ace in your sleeve that will be used on a day-to-day basis quite rapidly.

How the Course is Run

97151_more_lessons_on_the_laptop__2.jpgThis course is by no means a 3-day lecture. Instead, you will be engaged in a number of individual and group hands-on exercises to reinforce and solidify everything that is taught in the class. Some of the exercises are held in a competitive nature, followed by class discussion to pin point elegant approaches and solutions that various individuals or groups may have used. Despite the fact that the course is held in Italy, Germany or Canada, take home exercises will be available for the type-A personalities attending the course. The course can be available in alternate languages depending on the selected location.

What’s Included

Who Should Attend

If you are interested in the field of software development, want to learn how to dissect problems and algorithms, search for security vulnerabilities and bugs, want to discuss cutting edge technologies, techniques and ideas then this class is for you.

Learning Environment

Against to direct class materials, slides and hands-on exercises, students will have many opportunities to engage in one-on-one questions with instructors. Students get trained the practical way with intensive supervision. As students bring their own laptop, work done during the bootcamp gets not lost. Furthermore, students will be divided into groups by experience to foster student-student knowledge transfer as well.

What to bring

Students must bring their own laptop running an installation of Linux, Microsoft® Windows® 2000, XP, Vista or 2003 either natively or within a virtual machine. Damn Vulnerable Linux is provided. Students should also have GCC and Eclipse installed. VMWare Desktop with already configured Windows and Linux virtual machines is optional. All other tools will be provided for the students in the class room. Prospective students should be comfortable operating Microsoft Windows and have a basic understanding of programming concepts. It is important that the student brings his/her own 64-bit laptop with 64-bit OS!

Pricing

Bootcamp pricing is 1.499 Euro per Person. Minimum of 5 participiants, maximum of 12 participiants.



Comments

Comments are closed.