Your search did not yield any results.

Feel free to contact us in the event that the training you require is not listed. We may be in a position to offer this training by way of our partners or by creating a tailored class.

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Blog Entries publications that: entertain, make you think, offer insight

In most business circles, the question of whether or not a website truly helps a company's business has become somewhat moot. Simply put, a website is a necessary evil, like it or not. The question is no longer, should a company have a website, but rather, is the website optimized to ensure the best potential results. Of course, it is important to understand what is meant by "helping a company."

 

Many businesses are under the assumption that a website is going to turn into cold hard cash for the company. Well, that could be the case if the organization is using a type of e-commerce platform to buy and sell goods. Many businesses are service oriented and as such, the website serves an entirely different purpose.

 

This section of our beginning python training class always stumps students.  Firstly, because they need to know the difference between a function and a method.  Secondly, they need to understand object oriented programming concepts.  Thirdly, they need to realize that python has three types of methods.  Then they need to know how to use each method, which means they need to know the purpose of each method type.  Then they have to understand mutable versus non-mutable types.  The list goes on.  As part of our python tutorial, I hope to shed some light on this confusing topic.

To begin, the difference between a function and a method in python is that a method is defined within a class.  Here is an illustration:

#function

	def greeting():
	                print "Hello, I hope you're having a great day!"

	class HSGPrinter(object):
	                #method
	                def greeting(self): 
	                                print "Hello, I hope you're having a great day!"

As should be obvious, the second definition of greeting is encapsulated within the HSGPrinter class and is , therefore, refered to as a method.

The astute reader will notice that the greeting method contains one parameter named self.  For those who know C++ , Java or C#, self is equivalent to this i.e. it is a reference to the invoking object:

Studying a functional programming language is a good way to discover new approaches to problems and different ways of thinking. Although functional programming has much in common with logic and imperative programming, it uses unique abstractions and a different toolset for solving problems. Likewise, many current mainstream languages are beginning to pick up and integrate various techniques and features from functional programming.

Many authorities feel that Haskell is a great introductory language for learning functional programming. However, there are various other possibilities, including Scheme, F#, Scala, Clojure, Erlang and others.

Haskell is widely recognized as a beautiful, concise and high-performing programming language. It is statically typed and supports various cool features that augment language expressivity, including currying and pattern matching. In addition to monads, the language support a type-class system based on methods; this enables higher encapsulation and abstraction. Advanced Haskell will require learning about combinators, lambda calculus and category theory. Haskell allows programmers to create extremely elegant solutions.

Scheme is another good learning language -- it has an extensive history in academia and a vast body of instructional documents. Based on the oldest functional language -- Lisp -- Scheme is actually very small and elegant. Studying Scheme will allow the programmer to master iteration and recursion, lambda functions and first-class functions, closures, and bottom-up design.

Supported by Microsoft and growing in popularity, F# is a multi-paradigm, functional-first programming language that derives from ML and incorporates features from numerous languages, including OCaml, Scala, Haskell and Erlang. F# is described as a functional language that also supports object-oriented and imperative techniques. It is a .NET family member. F# allows the programmer to create succinct, type-safe, expressive and efficient solutions. It excels at parallel I/O and parallel CPU programming, data-oriented programming, and algorithmic development.

Scala is a general-purpose programming and scripting language that is both functional and object-oriented. It has strong static types and supports numerous functional language techniques such as pattern matching, lazy evaluation, currying, algebraic types, immutability and tail recursion. Scala -- from "scalable language" -- enables coders to write extremely concise source code. The code is compiled into Java bytecode and executes on the ubiquitous JVM (Java virtual machine).

Like Scala, Clojure also runs on the Java virtual machine. Because it is based on Lisp, it treats code like data and supports macros. Clojure's immutability features and time-progression constructs enable the creation of robust multithreaded programs.

Erlang is a highly concurrent language and runtime. Initially created by Ericsson to enable real-time, fault-tolerant, distributed applications, Erlang code can be altered without halting the system. The language has a functional subset with single assignment, dynamic typing, and eager evaluation. Erlang has powerful explicit support for concurrent processes.

 

Computer Programming as a Career?

What little habits make you a better software engineer?

There are a lot of articles you will find on the internet that talk about the tenants of having a successful professional career. From soft-skills to job relevant skills, there is an unending list of the do’s and don’ts for establishing a great career. However, a successful career in information technology commands some specific efforts and focus. As a result, it is critical to focus on these 4 key tenants that can help you establish a promising and successful career in Information Technology.

·         Be Multi-lingual– This is the analogy of Steve Job’s famous quote ‘Stay Hungry, Stay Foolish’ as it applies to Information Technology. Gone are the days when you could train yourself on a specific programming language say Java or C++ and code your way to a successful career. The best programmers of today and tomorrow are pushing the limits and becoming experts in one of more languages. Knowing more than one programming language instantly makes you more employable since you can add value to multiple projects that require different languages. If you need proof, IT professionals knowing more than one language can attract a salary premium of £10,000 . Additionally, there is no telling how dynamic technology is and by being open to constantly learning new languages you will position yourself to get technology jobs that did not exist a few years ago

·         Go Beyond the ‘How’, Focus On ‘Why’: A common theme with most information technology professionals is their ability to figure out the HOW or, in other words, applying their technical know-how in achieving the solution to a problem. This is especially true when you are working for a service based IT organization where your key job is to develop a solution for the client’s business problem. Yes, you are and will get paid to be good at the ‘How’ but to advance a career in IT; it will help you immensely to also start focussing on the ‘Why’. This stems from a famous quote by Einsten “If I were given one hour to save the planet, I would spend 59 minutes defining the problem and one minute resolving it”. In essence, spend time in understanding ‘Why’ are your trying to solve the problem before you get down with figuring out the ‘How’ part. The reasons for developing this mindset are two-fold. One, you will instantly distinguish yourself from thousands of other IT peers who are content with the ‘How’ part. Two, there is a good chance that you want to get ahead in your career not only as a programmer but as a system architect or a business solution consultant. This is where the habit of asking the right questions pertaining to why a certain IT solution is requires will help you build the right solution.

·         Focus on the impact and results (Financial impact):This may not apply to IT professionals who are early in their careers but is paramount for senior IT professionals. For the most part, IT departments are required to make sure that the systems and the solutions function as desired and help the business run efficiently. In other words, the key metric for success for most IT professionals is being extremely good at technology, languages and Quality Assurance. However, the times are changing! No longer is the Chief Information Officer (CIO) in charge of making IT decisions. With organizations closely guarding the ROI of their investment in technology, CIOs are increasingly required to be cognizant of the financial benefits of technology so that they can justify the spending on IT. No wonder than that CFOs are increasingly pressurizing CIOs to get their act together

training details locations, tags and why hsg

the hartmann software group advantage
A successful career as a software developer or other IT professional requires a solid understanding of software development processes, design patterns, enterprise application architectures, web services, security, networking and much more. The progression from novice to expert can be a daunting endeavor; this is especially true when traversing the learning curve without expert guidance. A common experience is that too much time and money is wasted on a career plan or application due to misinformation.

The Hartmann Software Group understands these issues and addresses them and others during any training engagement. Although no IT educational institution can guarantee career or application development success, HSG can get you closer to your goals at a far faster rate than self paced learning and, arguably, than the competition. Here are the reasons why we are so successful at teaching:

  • Learn from the experts.
    1. We have provided software development and other IT related training to many major corporations since 2002.
    2. Our educators have years of consulting and training experience; moreover, we require each trainer to have cross-discipline expertise i.e. be Java and .NET experts so that you get a broad understanding of how industry wide experts work and think.
  • Discover tips and tricks about programming
  • Get your questions answered by easy to follow, organized experts
  • Get up to speed with vital programming tools
  • Save on travel expenses by learning right from your desk or home office. Enroll in an online instructor led class. Nearly all of our classes are offered in this way.
  • Prepare to hit the ground running for a new job or a new position
  • See the big picture and have the instructor fill in the gaps
  • We teach with sophisticated learning tools and provide excellent supporting course material
  • Books and course material are provided in advance
  • Get a book of your choice from the HSG Store as a gift from us when you register for a class
  • Gain a lot of practical skills in a short amount of time
  • We teach what we know…software
  • We care…
learn more
page tags
what brought you to visit us
nstore/product,  , nstore/product,  Classes, nstore/product,  Courses, nstore/product,  Course, nstore/product,  Seminar
nearsourcing, reshoring and insourcing
developing talent and expertise at home
Companies are beginning to realize that talent and skills developed within the United States are exceedingly more important for the growth of an organization than the alternative: outsourcing. Considerations include: security, piracy, cultural differences, productivity, maintainability and time to market delays.
In the past, the reason for outsourcing centered on cost savings, lack of resources at home and the need to keep up with market trends. These considerations are proving to be of little merit as many organizations have, consequently, experienced productivity declines, are now finding considerable talent within their immediate location and have realized a need to gain more control over product development.
As strong advocates of Agile/Scrum development, HSG whole heartedly embraces this new entrepreneurial spirit because we know it works and because we believe our country's future weighs in the balance.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.