C Training Classes in Auburn, Washington

Learn C in Auburn, Washington and surrounding areas via our hands-on, expert led courses. All of our classes are offered on an onsite, online and public instructor led basis. Here is a list of our current C related training offerings in Auburn, Washington: C Training

Get pricing information (3 or more students may receive a discount)
Contact us to discuss our pricing structure for groups of 3 or more attendees.

C Training Catalog

cost: $ 2090length: 5 day(s)

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

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:

In programming, memory leaks are a common issue, and it occurs when a computer uses memory but does not give it back to the operating system. Experienced programmers have the ability to diagnose a leak based on the symptoms. Some believe every undesired increase in memory usage is a memory leak, but this is not an accurate representation of a leak. Certain leaks only run for a short time and are virtually undetectable.

Memory Leak Consequences

Applications that suffer severe memory leaks will eventually exceed the memory resulting in a severe slowdown or a termination of the application.

How to Protect Code from Memory Leaks?

Preventing memory leaks in the first place is more convenient than trying to locate the leak later. To do this, you can use defensive programming techniques such as smart pointers for C++.  A smart pointer is safer than a raw pointer because it provides augmented behavior that raw pointers do not have. This includes garbage collection and checking for nulls.

If you are going to use a raw pointer, avoid operations that are dangerous for specific contexts. This means pointer arithmetic and pointer copying. Smart pointers use a reference count for the object being referred to. Once the reference count reaches zero, the excess goes into garbage collection. The most commonly used smart pointer is shared_ptr from the TR1 extensions of the C++ standard library.

Static Analysis

The second approach to memory leaks is referred to as static analysis and attempts to detect errors in your source-code. CodeSonar is one of the effective tools for detection. It provides checkers for the Power of Ten coding rules, and it is especially competent at procedural analysis. However, some might find it lagging for bigger code bases.

How to Handle a Memory Leak

For some memory leaks, the only solution is to read through the code to find and correct the error. Another one of the common approaches to C++ is to use RAII, which an acronym for Resource Acquisition Is Initialization. This approach means associating scoped objects using the acquired resources, which automatically releases the resources when the objects are no longer within scope. RAII has the advantage of knowing when objects exist and when they do not. This gives it a distinct advantage over garbage collection. Regardless, RAII is not always recommended because some situations require ordinary pointers to manage raw memory and increase performance. Use it with caution.

The Most Serious Leaks

Urgency of a leak depends on the situation, and where the leak has occurred in the operating system. Additionally, it becomes more urgent if the leak occurs where the memory is limited such as in embedded systems and portable devices.

To protect code from memory leaks, people have to stay vigilant and avoid codes that could result in a leak. Memory leaks continue until someone turns the system off, which makes the memory available again, but the slow process of a leak can eventually prejudice a machine that normally runs correctly.

 

Related:

The Five Principles of Performance

In Demand IT Skills

A project manager acts as the primary link between business and technical teams. A project manager is responsible for maintaining the project schedule, developing project estimates, working with external teams and tracking project issues. The project manager belongs to either the technical team or the project management office (PMO). The project manager works with business teams, technical teams, business counterparts, testing resources, vendors and infrastructure teams.

A project manager is often challenged with diagonally opposite views from the business side and technical side. A project manager’s success depends on balancing the needs and emotions of both sides.

Understanding the Requirements
A project manager must familiarize with the project’s requirements as defined by the business or product managers. This will help you understand the business vision behind the project. You will need this knowledge while negotiating with the technical teams.

Understanding the Technical Landscape
A project manager must also understand the technical systems, resource skills and infrastructure capabilities available for the project. Business teams come up with expectations that are sometimes beyond the capabilities of the technology team. It is the responsibility of the project manager to understand the technical capabilities available to the project.

Walkthrough of Business Requirements
This is a critical step in the project delivery process. The project manager must invite members from the business team, technical team, testing team, infrastructure team and vendors. The project manager must encourage the various stakeholders to ask questions about the requirements. Any prototypes available must be demonstrated in this meeting. The project manager must find answers to all questions resulting from the requirements walkthrough. The project manager must get the final version of the requirements approved by all stakeholders.

Managing Conflicts in Timelines and Budgets
All project managers will face the conflicts arising from shortened timelines and limited budgets. Business teams typically demand many features that are nearly impossible to deliver within short timeframes. The project manager must work with business and technical teams to prioritize the requirements. If the project is executed in a product development organization, then the project manager could utilize agile methodologies to deliver projects incrementally. In this case, the project manager may be required to act as a scrum master to facilitate scrum meetings between various stakeholders.

The Art of Saying “No”
As a project manager, you may be forced to say “no” to demands from both business and technology teams. However, it is important to create a win-win situation for all parties when you are faced with conflicting demands. You can work with the stakeholders individually before bringing all parties together. Most stakeholders prefer to work together. The success of a project manager depends on how effectively he or she can bring out the best in everyone, driving everyone towards a common goal.

Finally, the job of a project manager is not to satisfy the demands from all corners. The project manager must identify the essential deliverables that will meet the business needs, with a solid understanding of what is possible within the limits of technology.

 

Related:

Smart Project Management: Best Practices of Good Managers

Is Agism an Issue in IT?

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

Tech Life in Washington

Not only is Washington a major player in the manufacturing industries such as aircraft and missiles, shipbuilding, lumber, food processing, metals and metal products, chemicals, and machinery, it?s the home of Microsoft Corporation and Bill Gates, chairman and former CEO of Microsoft. Other Washington state billionaires include Paul Allen (Microsoft), Steve Ballmer (Microsoft), Jeff Bezos (Amazon), Craig McCaw (McCaw Cellular Communications), James Jannard (Oakley), Howard Schultz (Starbucks), and Charles Simonyi (Microsoft).
Leadership and learning are indispensable to each other. John F. Kennedy
other Learning Options
Software developers near Auburn have ample opportunities to meet like minded techie individuals, collaborate and expend their career choices by participating in Meet-Up Groups. The following is a list of Technology Groups in the area.
Fortune 500 and 1000 companies in Washington that offer opportunities for C developers
Company Name City Industry Secondary Industry
Symetra Financial Corporation Bellevue Financial Services Insurance and Risk Management
Alaska Air Group, Inc. Seattle Travel, Recreation and Leisure Passenger Airlines
Expedia, Inc. Bellevue Travel, Recreation and Leisure Travel Agents & Services
Itron, Inc. Liberty Lake Computers and Electronics Instruments and Controls
PACCAR Inc. Bellevue Manufacturing Automobiles, Boats and Motor Vehicles
Puget Sound Energy Inc Bellevue Energy and Utilities Gas and Electric Utilities
Expeditors International of Washington, Inc. Seattle Transportation and Storage Freight Hauling (Rail and Truck)
Costco Wholesale Corporation Issaquah Retail Grocery and Specialty Food Stores
Starbucks Corporation Seattle Retail Restaurants and Bars
Nordstrom, Inc. Seattle Retail Department Stores
Weyerhaeuser Company Federal Way Manufacturing Paper and Paper Products
Microsoft Corporation Redmond Software and Internet Software
Amazon.com, Inc. Seattle Retail Sporting Goods, Hobby, Book, and Music Stores

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 in Washington 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 C programming
  • Get your questions answered by easy to follow, organized C experts
  • Get up to speed with vital C 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
Auburn, Washington C Training , Auburn, Washington C Training Classes, Auburn, Washington C Training Courses, Auburn, Washington C Training Course, Auburn, Washington C Training Seminar

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