The University of Arizona
A Method of Optimizing Programming Topics to Succeed in IT Certification Exams

A Method of Optimizing Programming Topics to Succeed in IT Certification Exams

Mohammad A. Rob
University of Houston-Clear Lake

Vance Etnyre
University of Houston-Clear Lake

Teaching programming is a way to lay the foundation for learning logic and algorithmic thinking. It also encompasses specific skills which can be applied to a variety of jobs in the information technology (IT) field. With the advent of new languages, tools, platforms, and technologies, teaching programming becomes more and more challenging. On the other hand, these new developments provide new job prospects and job securities for programmers. However, to prepare students to become successful programmers, teachers must apply various techniques to impart knowledge to students that make them marketable. A review of current literature shows that the teachers who are teaching higher-level programming courses are interested in two aspects of a programming course: (i) skillsets needed for the programmers in today's job market, and (ii) the added value of IT certification. In the following, we provide a brief review of the literature in the above areas. Specifically, we focus on how to optimize the topics that should be covered in the graduate-level programming courses, such that students are not only technically prepared for their professional careers but that they are also prepared to succeed in the widely recognized Microsoft Certification exams on programming.

Literature Review

While there are many research papers as well as review papers available on the subject of teaching and learning of the introductory programming course (Ben-Ari, 2001; Luo, 2005; Robins, Rountree, and Rountree, 2010; Šerbec, Kaučič, and Rugelj, 2008; Vihavainen, Paksula, and Luukkainen, 2011; Wulf, 2005), there are few that deal with the broader aspect of skills requirement for an entry-level programmer or, in general, an IT specialist. Lee and Han (2008) analyzed 837 jobs on programmer/analyst positions advertised by Fortune 500 companies and concluded that IT personnel need not only technical expertise in their respective areas, but these positions also require business knowledge. Woratschek and Lenox (2002) performed a survey of employers to find the importance of various programming languages in the job prospect with their companies. They concluded that at least three semesters of programming on various languages are desired for an IT graduate. These authors also addressed the need to change the IT curricula to meet the job requirements of the IT industry.

A related area of discussion is the question of professionalism for computer programmers. As early as the 1960s, there has been a call for rigorous certification programs for computer personnel to address the technical needs of the software industry (Ensmenger, 2002). By defining clear standards of professional competency, an industry-wide certification program would fulfill important prerequisites of the programming profession. Tripp (2002) mentioned that certification will raise the benchmark for individual performance in achieving software quality and productivity. Carter (2005) analyzed the supply and demand of occupational certifications between 1990 and 2003. He concluded that employers are increasingly relying on occupational certifications when hiring employees. He also calls for further research in the area of certification and the labor market. Arbanas and Alagic (2014) mention that until recently, employers used to require experience in the subject area, but nowadays it has almost become the rule that, in addition to having the specific experience, the possession of a professional certificate confirms the stated experience. Reinicke and Janicki (2013) surveyed IT professionals in the industry and reported that about 37 percent of the respondents have at least one certification. They also mentioned that individuals having a graduate degree are more likely to have a certification than those with undergraduate and associate degrees. McGill and Dixon (2013) went further to discuss the recertification requirements of an IT professional. With the increased demand of highly skilled professionals in the IT field, many organizations developed skills-based certifications, and the number of employees obtaining such certifications are also increased.

The proliferation of professional certifications necessitated academics to think about their IT curricula and redesign according to the needs of the industry. Zeng (2004) discussed an IT curricular model that included technical certifications along with academic degrees to prepare students for the increasing demands of the IT industries. In discussing these academic degrees and professional certifications in the IT field, Bishop and Frincke (2004) reiterated that the value of a university degree is intertwined with the reputation of the university. In reviewing the MIS curriculum, Yue (2008) mentioned that IT certification is important to attract, retain, and train students for the job market. Similarly, there are a variety of professional certifications; however, the value of certification depends on the specific needs of the profession. In recent years, many college and university IT programs have redesigned their curriculum to include professional IT certifications (Al-Rawi, Lansari, and Bouslama, 2005; Ortiz, 2003; Rob, 2014). Recently, Wilkens (2013) studied the factors that influence the decision to obtain IT certification in a Community and Technical college in Minnesota. Attitudes implanted in the students' minds by their professors are found to be the most important factor in the college-level education.

However, there is no literature available that specifically focuses on the topics covered in a programming course and also address the needs of the certification exams. In this paper, we focus on how to optimize the topics that should be covered in a graduate-level programming course such that students are not only technically prepared for their professional career, but also prepared to succeed in the widely recognized Microsoft Certification exams on programming. Hopkins, Pickard and Patrick (2014) recently suggested that to pass the challenging IT certification exams, supplemental material must be utilized in addition to the program curriculum.

The Problem Definition

The faculty teaching programming courses at the University of Houston - Clear Lake wanted to enhance the quality of programming courses offered in the graduate-level MIS program. We wanted to offer courses which would cover all the expected topics and stand out with a unique quality. We also wanted students to succeed in IT certification exams that are part of their programming courses. We have decided to teach our courses at a technical level high enough to prepare our students to pass Microsoft certification exams in programming. We chose exam 70-306, which is part of the Microsoft Certified Application/Solution Developer (MCAD/MCSD) certification track, as the standard for our Windows-based programming class (Microsoft-70-306). For our web-based programming class, we chose exam 70-315, which is also part of the MCAD/MCSD certification track (Microsoft-70-315). These exams were chosen because they require a high level of skill, they are externally maintained and managed, they are readily available, and they are recognized and accepted in the information systems community.

Students are not required to take these certification exams. Within our courses, grades are determined by final exams scores and performance on programming projects. Students are encouraged to take the certification exams through certain incentives within the grading system. Points are added to final exam scores for students passing a certification exam while they are taking our graduate courses. By doing this, we can encourage students to take certification exams and correlate student performance in the course with performance on the certification exams. We have found significant positive correlation between performance on certification exams and performance within our courses, semester after semester. In other words, students who passed the certification also performed well in the course grades.

To select topics for our courses, we determined what are considered standard materials within the graduate programing courses in other universities, as mentioned before. We also determined what was required to provide adequate preparation for taking the selected certification exams from the standard certification books published on the two MCAD/MCSD tracks mentioned before (Microsoft-70-306, Microsoft-70-315). Our experiences lead us by trial-and-error to select sequences of topics which satisfied our dual goals of teaching material expected by the academic community and teaching material which is covered on the certification exams we selected. The method described in this paper represents an attempt, after the fact, to formalize the selection of topics used in our courses. This method can be used by others to achieve their own goals which might be very different from ours.

Programming Topics Covered in Other Universities

A brief analysis of course syllabi posted in the web from various universities on the topics covered in various programming courses found that most advanced programming courses begin with very quick reviews of structured programming and object-oriented programming. Specifically, we found the following information concerning advanced windows-based and web-based programming courses (see Table 1 and Table 2).

Topics covered Hours
Programming concepts 6
Object-oriented programming 3
Review of file handling 3
Graphic user interfaces 6
XML and/or data structures 3
Database interfaces 3
"Advanced" topics 6
TOTAL 30
Table 1. Coverage of Topics in Window-Based Programming Course
Topics covered Hours
Object-oriented programming 3
Review of file handling 3
Basics of web programming 6
XML and/or data structures 3
Database interfaces 3
Authentication and security 6
Storage and memory mgmt. 3
"Advanced" topics 6
TOTAL 33
Table 2. Coverage of Topics in Web-Based Programming Course

The topics covered in the Windows programming classes account for 30 in-class hours. The topics covered in the web-based programming classes account for 33 in-class hours. In a 15-week semester with 3 hours of classes per week, there are 45 hours of in-class instruction to allocate. This leaves considerable flexibility in the allocation of class time to various topics.

Methodology

The information we developed from our survey of what is taught at other universities served as constraints to an optimizing process using the Selector method of the Microsoft Office Excel Solver package. It is a non-linear least square curve fitting tool readily available with Microsoft Excel. The objective function was constructed to maximize the 'effective coverage' of topics on the selected certification exams subject to the constraints of meeting the coverage expectations of other universities.

The objective function to be maximized in this project is the weighted average of coverage for topics on the certification exams constrained by meeting expected hours of coverage based on survey of expected topic coverage. A formalized statement of the problem would be: Maximize Effective Coverage = ∑ p i * xi subject to: x i ≥ expected coverage i for all i, where i is the index for topics taught and p i is the proportion of questions on the relevant certification exam dealing with topic i. This function is maximized subject to constraints which assures that the minimum expected coverage will be given to each topic.

The objective function components, xi, are non-linear functions of time spent on topics within the courses. The non-linearity was used to represent diminishing marginal returns for time spent on a topic. If organized properly, the initial treatment of a topic should yield high returns of understanding. Once terms are defined and basic principles are explained, students should be able to apply their understanding to follow simple exercises or solve simple problems. Additional information adds to the overall understanding of the topic, but not at the same rate (marginal return) as the initial amount. Figure 1 shows the relationship between amount of time spent on a topic and the effective coverage for that topic found from the formula above.

Graph of effective coverage as a function of hours
Figure 1. Eff. Coverage as function of Hours Spent

Data Analysis, Results and Discussion

The first solution to this problem, as shown in Table 3, provided justification for the course offerings chosen by the faculty for the Windows-based and web-based advanced programming courses.

Target Cell (Max)
Cell Name Original Value Final Value

Windows Programming 20.6 31.6

Adjustable Cells

Cell Name Original Value Final Value

x10 Lang _Struct 6 6

x11 Obj-Orient. 3 3

x12 File Handling 3 3

x13 Win_GUI 6 6

x14 XML 3 6

x15 Win_Adv_GUI 6 6

x16 Database 3 9

x17 Security 0 0

x18 Interop 0 3

x19 Other Adv. 0 3

Target Cell (Max)

Cell Name Original Value Final Value
Web Programming 23.4 32.2

Adjustable Cells

Cell Name Original Value Final Value

x20 Lang _Struct 3 3

x21 Obj-Orient. 3 3

x22 File Handling 3 3

x23 Web Basics 6 6

x24 XML 3 3

x25 Web_Adv_GUI 6 6

x26 Database 3 3

x27 Security 6 6

x28 Storage 3 6

x29 Other Adv. 0 6
Table 3. Initial Solution with no Credit Crossover Learning

Based on our finding in the first part of Table 3, in addition to the coverage found in other graduate MIS programs, we added the following coverage to our Windows-based course. (See Table 4). As can be seen from Table 3, this allowed our effective coverage function to increase from 20.6% to 31.6% in our Windows-based course compared to the coverage provided by the "standard" topics in other MIS programs.

Topic Change in Hours
Database applications from 3 to 9
XML and data structures from 3 to 6
Interoperability with COM from 0 to 3
Other Advanced topics from 0 to 3
Table 4. Additional Topics to be covered in Windows-Based Programming Course

Based on our finding in the second part of Table 3, in addition to the coverage found in other graduate MIS programs, we added the following coverage to our Web-based course (See Table 5. As can be seen from Table 3, this allowed our effective coverage function to increase from 23.4% to 32.2% in our web-based course compared to the coverage provided by the 'standard' topics from the survey.

Topic Change in Hours
Storage considerations from 3 to 6
Other advanced topics from 0 to 6
Table 5. Additional Topics to be covered in Web-Based Programming Course

The next problem we looked at was the 'cross-over effect' problem. Time spent studying the basics of XML in a Windows-based course should provide some advantage to students who subsequently take the web-based course. Similarly, studying database applications in a web-based course should provide some advantage to students who subsequently take the windows-based course. We could not count on this cross-over effect because we did not control the sequence in which students took these two courses. We decided that since web-based programming is inherently more difficult than Windows-based programming, we would require our students to take Windows-based programming before they enrolled in web-based programming. This meant that we could count on web-based programming students to have been exposed to all the material taught in the Windows-based course. Therefore, the time we spent on each topic in the web-based course could support the information learned in the Windows-based programming course. This also meant that our goal of preparing students to succeed on externally verified certification exams could be achieved by combining the topics taught in the two courses.

With the cross-over effect in mind, we resolved the problem of maximizing "effective coverage" giving partial credit for coverage in the web-based course for learning achieved in the pre-requisite Windows-based course. This solution is shown in Table 6.

Target Cell (Max)
Cell Name Original Value Final Value
Windows Programming 31.6 31.4
Adjustable Cells
Cell Name Original Value Final Value
x10 Lang _Struct 6 6
x11 Obj-Orient. 3 6
x12 File Handling 3 3
x13 Win_GUI 6 6
x14 XML 6 3
x15 Win_Adv_GUI 6 6
x16 Database 9 9
x17 Security 0 0
x18 Interop 3 3
x19 Other Adv. 3 3
Target Cell (Max)
Cell Name Original Value Final Value
Web Programming 32.2 48.8
Adjustable Cells
Cell Name Original Value Final Value
x20 Lang _Struct 3 3
x21 Obj-Orient. 3 3
x22 File Handling 3 3
x23 Web Basics 6 6
x24 XML 3 3
x25 Web_Adv_GUI 6 6
x26 Database 3 6
x27 Security 6 6
x28 Storage 6 3
x29 Other Adv. 6 6
Table 6: Prerequisite solution with 50% credit for crossover learning

The second solution, which recognized cross-over learning from the pre-requisite Windows-based course to the subsequent web-based course, resulted in the following changes, as shown in Table 7 and Table 8 below:

Topic Change in Hours
Object-oriented programming from 3 to 6
XML and data structures from 6 to 3
Table 7. Change of Cross-Over Learning in Windows-Based Course
Topic Change in Hours
Database applications from 3 to 6
Storage considerations from 6 to 3
Table 8. Change of Cross-Over Learning in Web-Based Course

Although these changes did not seem immediately significant, the overall value of effective coverage increased from 31.9% to 40.1%. Much of this increase was due to the recognition that if everyone takes the same pre-requisite course, part of the content taught in that course can be credited toward topic coverage of subsequent courses. It is worth noting that the percentage of students passing certification exams has risen from approximately 40% before enforcing the pre-requisite course to over 50% after the enforcing of the pre-requisite course.

Conclusions

We have addressed the value of professional certifications in the job market for an IT graduate in the fast-changing technological world. We have discussed the skillsets required for a programmer to be successful in the IT certification exams. Specifically, we focused on how to optimize various topics that should be covered in a graduate-level programming course such that students are not only technically prepared for their professional careers but also equipped to succeed in the widely recognized Microsoft Certification exams on programming.

The best content and structure for teaching programming courses depends on the objectives of the courses, the backgrounds of the students, and the resources available for teaching the courses. We could formulate the problem of determining course content as an optimization issue and used the Solver feature of Microsoft Excel to find solutions to this problem. The solutions indicated that in case of the Windows-based programming course, a potential improvement in effective coverage from 32% to 40% is achievable if we increase the number of hours by about 3 hours in the areas of object-oriented programming, database, XML, COM and other advanced topics. The same improvement can be achieved if we increase the number of hours by 3 hours on the database, storage, and advanced topics in the web-based programming course. This increase in effective coverage correlates with an increase in passing rates from approximately 40% to over 50% after making a change in our curriculum. Our findings can be useful for instructors who wish to reformulate their programming courses and challenge students with professional certifications that prepare students for successful careers in the ever-increasing demand of the IT job market.

Refbacks

  • There are currently no refbacks.