1. a problem with the way this course is

1.
Introduction

1.1
Purpose

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

This document proposes a change to the class structure
for the Introduction to Object-Oriented Programming (COM S 227) course at Iowa
State University. This update is necessary to improve student success and
understanding in this course.

 

1.2
Background

In Fall 2012, nearly half of the students who
registered for the Introduction to Object-Oriented Programming course (COM S
227) at Iowa State University either dropped the course within the first week
of class or earned a D or F in the course, as stated by Drees in 2013 1. This
indicates that there is a problem with the way this course is being taught.
Other research in 2, 3, 4, 5, and 6 also supports this conclusion.
Teachers of COM S 227 need to take steps to improve student success and
learning in this course.

            When I took COM S
227, the out-of-class resources were a textbook, sample code from class,
homework assignments, and labs. The textbook and sample code were effective for
developing a shallow understanding of concepts, but because I was not doing any
of the programming myself, I had difficulty applying that knowledge. In 2015,
Hwang, Yang, and Hwang noted in 3 that learning from textbooks and sample
code can be helpful, but they should only be used as supplemental learning
resources for topics in which students struggle. Additionally, the journal
article from 3 stated that continuous practice in programming is necessary
for students to retain the information. Since the homework and labs did not
cover all the topics from the course, continuous practice was difficult for the
students to achieve in all topics. In the classroom, students commonly watch
the teacher program with little student interaction. An MIT programming lecture
in 7 shows that the teacher does most of the programming while the students
just observe. Not only is there little student interaction in these lectures,
but in 2015, Konecki, Kadoic and Piltaver stated in 5 that teachers struggle
to find a teaching method that appeals to students’ preferred learning styles.
This means that it can be a challenge for some students to learn from lecture
at all. Teachers need to make changes with the current COM S 227 course.

 

1.3
Scope

This proposal addresses the changes that need to be
made both inside and outside the classroom for the Introduction to Object-Oriented
(COM S 227) course structure at Iowa State University. It focuses on what
teachers can change about the course rather than what students can change.

 

2.
Discussion

2.1
Approach

There has been research done on potential solutions for students
struggling to learn programming. Wang, Hwang, Liang, and Wang in 2017 showed
that programming using a graphical user interface (GUI) helps students
understand the basics of programming by enabling “novice learners and young
students to realize the basic programming logic without being confused by
programming language syntax” 2. From research done in 2014 in 4, Feldgen
and Clua showed how relating programming to something familiar, like a game,
aids understanding of programming topics. Teachers could utilize methods like
visualization and connection when teaching to improve students understanding in
lecture, allowing students to gain different exposure to programming than just
seeing the teacher code. Sources 8, 9, and 10 use a learning interface
that teaches students programming concepts but allows the students to do the
programming. The problem from current homework and labs will likely be resolved
once a learning interface like this is utilized because students will get
practice in all programming topics. Then after they learn the material, they
may be able to apply that knowledge to their own project. Results of the
experiment conducted in 3 found that explaining why solutions are correct
improves understanding for various students. Finding textbooks and sample code
that use this method would allow the students to learn more from these
resources.

Current teachers of COM S 227 should make
changes to the course by introducing basic programming topics using a GUI and
relating programming topics to familiar topics in lecture. Iowa State
University should create a learning interface like those in 8, 9, and 10
to allow students to do the programming while they learn. Finally, reference
material for the course, like textbooks and sample code, should explain why
answers are correct. Implementing a course structure like this would allow the
success rate and student understanding in this course to greatly improve.
 

 

2.2
Result

These changes to the Introduction to Object-Oriented
Programming (COM S 227) course at Iowa State University will help students by
giving them a better understanding of the basic programming concepts. It will
also help teachers be recognized as high-quality educators, and it will help
Iowa State University as they will be recognized as a top educator in
introductory programming, attracting more students to the University.

 

2.3
Statement of Work

The following tasks will be completed to achieve the
goals of this proposal:

·       Task
1: Setup a Scratch 11 teacher account and class groups for each section of
COM S 227. (3 hours)

·       Task
2: Have teachers of COM S 227 come together to determine what connections will be
made to programming from other topics. Around 1 hour spent per topic with 62
total course topics. (65 hours)

·       Task
3: Develop a learning interface like 8, 9, and 10 with information
specific to COM S 227. (500 hours)

·       Task
4: Replace the current textbook and sample code resources with reference
material created by the teachers of COM S 227 that explain why answers are
correct. Around 2 hours spent per topic with 62 total course topics. (125
hours)

·       Task
5: Change the lesson plans and course structure to use Scratch and draw
connections in lecture, using the new learning interface outside of class, and
replacing the old reference materials with the newly created ones. Around 1
hour for each topic for each of these tasks. (250 hours)

 

3.
Resources

3.1
Personnel

Teachers of COM S 227 will be needed to create the
teacher accounts for Scratch 11, determine how to make connections to programming
topics using other topics, creating the new reference material, and updating
the lesson plans and course structure. Developers will be needed to create the
new learning interface software. Teachers will need to be involved in the
brainstorming section of this process as they need to provide the developers
with the requirements of the application.

 

3.2
Facilities and Equipment

Teacher offices will be used to setup the teacher
accounts for Scratch 11, determine how to make connections to programming
topics using other topics, creating the new reference material, and updating
the lesson plans and course structure. A larger, dedicated room will be
necessary for the development of the learning interface. Developer equipment
will also be required. Some potential examples are the following:

·       A
computer with development software preinstalled

·       Connection
to Iowa State University’s network

·       Servers
for running the applications on

·       Databases
to store information about the application

 

4.
Costs

4.1
Fiscal

According to startclass, the average annual salary of
an Iowa State professor is around $164,000 12. Using this figure, we assume
professors work around 2,000 hours per week. This creates an approximate hourly
wage of $82.

·       Task
1: Setup a Scratch teacher account 11 and class groups for each section of
COM S 227.

o  
3 hours at $82 per hour = $246

·       Task
2: Have teachers of COM S 227 come together to determine what connections will
be made to programming from other topics. Around 1 hour spent per topic with 62
total course topics.

o  
65 hours at $82 per hour = $5,330

·       Task
3: Develop a learning interface like 8, 9, and 10 with information
specific to COM S 227.

o  
500 hours at $82 per hour = $41,000

·       Task
4: Replace the current textbook and sample code resources with reference
material created by the teachers of COM S 227 that explain why answers are
correct. Around 2 hours spent per topic with 62 total course topics.

o  
125 hours at $82 per hour = $10,250

·       Task
5: Change the lesson plans and course structure to use Scratch and draw
connections in lecture, using the new learning interface outside of class, and
replacing the old reference materials with the newly created ones. Around 1
hour for each topic for each of these tasks.

o  
250 hours at $82 per hour = $20,500

 

Total Cost = $77,326

 

4.2
Time

As stated in section 2.3, the total time for this
project will take around 943 hours. This is an estimate that includes future
improvements to the course through updates to course materials or software
applications.

 

5.
Conclusion

5.1
Summary

Improving
the Introduction
to Object-Oriented Programming (COM S 227) course at Iowa State University by introducing new
programming topics using a GUI like Scratch 11 and relating programming
topics to familiar topics in lecture, creating a learning interface like those
in 8, 9, and 10 to allow students to do the programming while they learn,
and using reference material for the course, like textbooks and sample code,
that explain why answers are correct will allow the success rate and student
understanding in this course to greatly improve. These changes to
the course will help students by giving them a better understanding of the
basic programming concepts learned from this course. It will also help teachers
be recognized as high-quality educators in the programming field, and it will
help Iowa State University as they will be recognized as a top educator in
introductory programming, attracting more high achieving students to the
University.

 

 

 

5.2
Contact

For more information about this proposed change to COM
S 227 at Iowa State University, please contact Matthew Orth at [email protected]

 

5.3
References

References

References

1 E. Drees, “How to avoid failing the
most-failed classes at Iowa State”, Iowa State Daily, 2013.
Online. Available:
http://www.iowastatedaily.com/news/article_4ea93afe-7a4d-11e2-a34d-001a4bcf887a.html.
Accessed: 10- Jan- 2018.

This article shows a list of the classes that have the most students
earn a D, F, or drop in the first week of class. This relates to my topic because, for COM S 227, 269
students enrolled with a 47.96% DFW rate where “DFW shows the percentage of
students who get a D+, D, D-, F or withdraw from the class after the first
week.” This shows that there is a problem with how we teach our
programming classes as almost half of the students enrolled in COM S 227 fall
into one of the categories listed above.

 

2 X. Wang, G. Hwang, Z. Liang and H. Wang,
“Enhancing Students’ Computer Programming Performances, Critical Thinking
Awareness and Attitudes towards Programming: An Online Peer-Assessment
Attempt”, Educational Technology & Society, vol. 20, no.
4, pp. 58-68, 2017.

A research experiment was conducted for high school students
using a control group and an experiment group that learned through a
peer-evaluation online assessment. The experiment group preformed much better
with their programming skills. GUI programming, like Scratch, was found to be an effective way to learn
the programming principles. Project-based learning allows learning from others
through peer feedback. This article shows a potential way to improve on
the way we teach students intro programming concepts through GUI programming
and project-based learning with peer feedback.

3 T. Yang, G. Hwang, S. Yang and G. Hwang,
“A Two-Tier Test-based Approach to Improving Students’
Computer-Programming Skills in a Web-Based Learning Environment”, Education
Technology & Society, vol. 18, no. 1, pp. 198-210, 2015.

An experiment was conducted on college students where the
control group learned the material though conventional methods, while the
experiment group learned the material through a two-tier test-based learning
system. After the student
answered a question, an immediate explanation of why that answer was or was not
correct was provided. The experiment group found to have better
attitudes toward learning the programming language and enhanced programming
skills. This research article again shows another potential way to improve
teaching students how to program through deeper question understanding.

4 M. Feldgen and O. Clua, “Games As A
Motivation For Freshman Students To Learn Programming”, in ASEE/IEEE
Frontiers in Education Conference, Savannah, GA, 2014, pp. S1H-11 – S1H-16.

This article explains how they aim to teach students
programming by creating games and WEB-programming. This article states that not everyone knows about
programming topics, but most everyone knows about games. They state how games follow
rules, strategies, and actions such as programming languages. Relating a game’s
rules to the syntax and rules of a programming language allows students to feel
in a more familiar situation when learning to program. This article
relates programming to another common activity in games. This connection
provides another way to think about teaching programming to students, which
will be useful to talk about in my problem statement.

5 M. Konecki, N. Kadoic and R. Piltaver,
“Intelligent assistant for helping students to learn programming”,
in 2015 38th International Convention on Information and Communication
Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia,
2015, pp. 924-928.

This article talks about the current problems with the way
we teach programming. It
starts by talking about what influences student success and motivation. Jenkins
gives several steps to follow to increase the success rate in programming
courses. Many times, students omit many of the important elements to learning
programming, so the end results in the teacher programming code without the
student practicing the coding. The article concludes with the
intelligent assistant, which is used to help students learn how to program more
effectively by giving real-time answers to questions. This article will be very
useful as it explains what is currently wrong with learning programming, what
is required to successfully learn programming, and a possible solution to the
problem. 

6 Z. Szalayné Tahy and Z. Czirkos, “”Why
Can’t I Learn Programming?” The Learning and Teaching Environment of
Programming”, Informatics in Schools: Improvement of Informatics
Knowledge and Perception, vol. 9973, pp. 199-204, 2016.

This
article talks about different ways students are approaching learning to program.
The article concludes with an explanation of how learning is done using the Learning Activity Unit.
This article will be useful for explaining how students currently learn and the
skills necessary to successfully learn programming.

7 MIT OpenCourseWare, 6.0001
Introduction to Computer Science and Programming in Python. Fall 2016.
2017.

These videos are used to teach students how to program in
Python. These videos are
mostly ineffective as there is very little student interaction. This shows a negative example of
current methods to teaching programming because the teacher is doing most of
the work while the student may think they understand the material, but they
cannot know because the student is not doing any of the practicing.

 8 G. Hunter,
D. Livingstone, P. Neve and G. Alsop, “Learn Programming++: The Design,
Implementation and Deployment of an Intelligent Environment for the Teaching
and Learning of Computer Programming”, 2013 9th International
Conference on Intelligent Environments, pp. 129-136, 2013.

This article explains another potential approach to teaching
programming. It shows the
code learning interface, which includes the code on the right, explanations to
the concepts on the left, with quiz questions on the bottom. This interface
also tracks student progress by determining topics that students usually
struggled with. This approach also included things like visualization of
progress, gamification and medal tables, and automated plagiarism checkers to
keep students engaged and honest. This article ties into my sources regarding the Khan Academy
and Codecademy approach to teaching programming, so it will be useful to
show that many people think this kind of learning is effective for programming.

9 “Learning programming on Khan
Academy”, Khan Academy, 2018. Online. Available:
https://www.khanacademy.org/computing/computer-programming/programming/intro-to-programming/a/learning-programming-on-khan-academy.
Accessed: 10- Jan- 2018.

Khan
Academy’s approach to learning programming uses talk-throughs where the student
can pause the lecture at any time and change the code to see what happens.
This approach to learning allows the student to see someone else code, but it
also allows the students to stop the lecture at any time to try things out on
their own. After the talk
through is done, then the student works on a project using the skills they just
learned. This article shows another way we could approach teaching
programming to students. I do think this approach is very effective as it provides the students with
many different mediums for learning: listening and watching, experimentation,
and individual projects with peer feedback. The only thing that this
resource is missing is more programming languages to learn.

10 “We’re Here To Help”, Codecademy,
2018. Online. Available: https://help.codecademy.com/hc/en-us. Accessed: 10-
Jan- 2018.

Codecademy
is a way for students to learn programming through interactive learning modules
where the student is actually doing the coding while following along with
directions. There is also a customized learning path for whatever coding
technology you want to learn. These paths include the directions, coding,
tests, and projects. Codecademy does a great job at approaching teaching
programming to students by allowing the student to do the programming
themselves while they are being walked through how to do it. There are also
many languages to learn on the resource. It would be nice to see the
customizable learning path, tests, and projects be free to use, but the prices
for these are reasonable.

 11″Scratch
– Educators”, Scratch. Online. Available:
https://scratch.mit.edu/educators/. Accessed: 15- Jan- 2018.

Scratch
is a GUI application used to teach students about programming concepts without worrying
about the language syntax.
This will be used by teachers in lecture to introduce basic programming topics.

12″Iowa State University
professors”, Faculty-salaries.startclass.com, 2018. Online.
Available: http://faculty-salaries.startclass.com/l/4143/Iowa-State-University.
Accessed: 15- Jan- 2018.

This
reference states that the average annual salary of a professor at Iowa State
University is around $164,000.
This will be used to estimate the cost of the proposal.