This resource page is designed to help both faculty and AITP Student Chapters encourage and promote the development of higher standards in Management Information Systems curriculums offered by institutions of higher education.
One of the leading challenges in teaching computer programming courses is the need for students to get as much hands-on experience with the code as possible. Students will only master a programming language if they use it. Programming languages take time to master - time that is in short supply when a student is taking a full class load and may be working part or full time. The need to balance reading assignments, homework, classroom presentations, and computer laboratory time can create problems for both the faculty and the students. This resource page provides a proven strategy for addressing these concerns.
A summary of the Curriculum Strategy topics covered is provided below:
Students often collaborate on their homework assignments - sometimes this collaboration becomes cheating when, unfortunately, they have others do their work for them. It can be very difficult to identify a cheater since small changes can be made to obscure the fact that the same person wrote two or more assignments. There is also the problem that arises when a student copies an assignment from a public workstation because another student failed to properly delete their work or became distracted. When students cheat, they not only harm themselves - they also harm the reputation of their school. The one truth about computer programmers is that it quickly becomes apparent which ones know their stuff from those that do not have a clue. When students venture into industry and get a job based on their high grades, yet are unable to demonstrate the simplest competencies, the value of their education comes into serious question.
One of the missions of the AITP is to promote both the education and the professional development of Information Technology. This resource page outlines a simple strategy that substantially eliminates the risk of cheating while promoting higher standards in teaching programming languages - without creating an additional burden for the faculty.
Classroom and laboratory time are premium commodities that need to be used wisely. Reading assignments should be used to cover basic background and conceptual ideas in preparation for each class session. Students learn better when they have reviewed the material prior to coming to class. The reading assignment addresses this problem, but many students often fail to read the material since they have other priorities.
Reading assignment quizzes can be used to encourage students to read their assigned material. The reading quiz should be given at the start of class. The reading assignment quiz should have five to ten questions and should take no more than five minutes.
Did the student do the homework assignment by them self? This question can be difficult to answer. The purpose of a homework assignment is to provide the student a "required hands-on experience" with the subject matter so that the student masters a set of associated skills and knowledge. The key point here is that the student should understand the subject matter covered by the homework assignment - knowledge that can be tested.
The solution to making sure that students who do the homework are rewarded for their effort is to divide a homework assignment into two parts:
The homework assignment itself (50% of the grade)
The homework should be collected at the start of class and be immediately followed by a quiz on the key concepts and skills that the homework covered. The students will need to have done their own homework in order to do well on the quiz. The homework quiz should have five to ten questions and can be given in conjunction with the reading assignment quiz.
The homework quiz should cover the key points that the homework assignment was designed to teach. The homework quiz should take no more than five minutes.
Java is a wonderful language to teach object-oriented programming. The professional practices of using test harnesses can also be applied to the classroom. The use of a test harness is made easier when the Unified Modeling Language (UML) is used as part of the class specification and design process. Students need to build their classes to match the UML design. This provides a relatively simple mechanism to build a test harness that can run a series of tests on each student's homework.
The start of class is a time for students to settle in, turn in assignments, and for the class roll call. These activities can be combined very easily:
The strategy outlined above also encourages students to arrive at class on time. If students have completed their reading and homework assignments, the quizzes should be very easy to complete within five minutes (allowing 30 to 60 seconds for each question). The strategy has been tried out at a number of schools and works very well.
If you are interested in a career in software development or enterprise development, your educational experiences will play an important role in determining what you are capable of and how fast you can advance. The reputation that your school has also plays a role in which companies will choose to recruit at your school. Schools with solid curriculums where students must work hard to earn good grades are valued highly by industry.
The AITP Student Chapter at The University of Texas at Arlington began "recruiting companies" by inviting the human resource and technical people from local IT companies to tour the campus, meet the faculty, and take a look at the curriculum. By demonstrating that the MIS program was teaching courses that directly impacted these companies, the local student chapter was able to pick up sponsorship and obtain better recruiting of the student chapter members. Student chapter meetings take place each week and feature a presentation from one of these companies - allowing students to meet the recruiters, employees, and learn more about the company in an informal setting. Already meeting the recruiter and knowing what to expect in an interview can be a big advantage.
These companies are interested in recruiting the AITP student chapter members because the recruiters know that the education relates to the needs of their company (value of curriculum and knowledge of the grading strategy) and the recruiters have already met the students.
The strategies outlined on this resource page are designed to reduce the faculty and teaching assistant workload. The students benefit by being "encouraged" to complete their reading and homework assignments in order to make a good grade. The students will need to work harder - but they will also learn more, which will increase the value of the program from an industry point of view.
Testing for programming languages poses a problem: The best way to test a student's knowledge and skill is to have them actually sit down and write a program from a specification. Test questions should also be tool independent (asking where an IDE widget is or what it does can vary from one product version to another). At the heart of assessing a student's programming language skills and knowledge is how well can the student write and troubleshoot code.
If a computer lab is not available for giving a programming test, a written exam featuring code debugging can be used.
The Mid-term exam should consist of a programming exercise that tests the cumulative skills and concepts covered in class to date. The test should also consist of a written portion that tests debugging skills and language specific concepts.
The Final Exam should consist of a programming exercise that tests the cumulative skills and concepts covered in class to date. The test should also consist of a written portion that tests debugging skills and language specific concepts.
Effectively teaching computer programming requires a structured approach where essential fundamentals are first taught and then built upon. Diving straight into Java without these fundamental basics can be a daunting experience. To fully understand how to use Java as an object-oriented programming language, core prerequisites must be learned first. The following table outlines the courses that should be taken before learning Java:
Additional information is provided in the Java Recommended Curriculum resource page on this site accessible from the menu bar to the right.
|Copyright © 2001 - 2007 Aurenav LLC - e-mail: firstname.lastname@example.org|