Marie A. Tapanes

Course development project:

Introduction to The Logic of programming

EDH 7225- Curriculum Development in Higher Education

Professor: D. Dellow, Ph.D.

College of Education

University of South Florida

Tampa, Florida

1.  Rationale

Introduction to the logic of programming is the second course of the sequence of computer courses for the associate and baccalaureate degrees of Information Systems. It is a required course which should be completed preferably during the students’ first year of studies, before enrolling in major courses like Introduction to programming and Data structures, among other specialization courses. Sections of the course are currently offered in day and night sections.

A redesign of the course is necessary to offer the course online since many students have difficulty taking on-campus classes due to their work and/or family commitments. Offering an online course certainly does not mean uploading files from previous offerings. Instead, it is needed a new instructional design to help guide and retain the online students, reduce feelings of isolation and increase motivation to participate and submit course requirements, offer assistance when needed, in addition to providing the student with a vast diversity of online resources to help complete the course successfully. The redesign will be based in part on Dr. Fink’s Significant Learning design principles.

2.  Needs assessment

Institutions need to update their offerings to keep up with the requirements of society, academy and its students. Technology is offering the means to reach more students and a more diverse population. Now, students with full work and family commitments, as well as full time students, can enjoy the opportunity to complete a course online. Many institutions are offering that choice. Our students, from which a big percentage is comprised by an adult population enrolled in the AHORA program, will benefit of this new offering. In the future, other courses will need to be offered online also as an alternate medium to reach our students and give them the tools they need to complete their educational goals and programs of study.

3.  Situational factors

3.1. Specific context of the teaching/learning situation

The course is a lower division course which is expected to be completed by the students during their second semester of studies in the Information Systems program. Currently, the average class size is 25 students per session. Because it is a required foundational course, around 3-4 sections are offered each semester, afternoon and evening. Each class meets twice a week for 2 hours.

3.2. General context of the learning situation- Description of the rationale for instructional delivery

The course needs to be offered online, which will probably reduce the traditional sessions to one in the afternoon and one in the evening for students who prefer traditional education. Offering the course online will respond to a need students have to continue their studies while having time for their other important responsibilities. It also responds to a need to actualize the offerings and stay competitive with other higher education institutions. Thus, an online course will offer more options to the students on how to proceed with their coursework. This is part of the institution’s effort to attract more students to the program, offering the flexibility of online courses with the convenient anytime-anywhere philosophy.

However, as said by Ehrmann (2005), “If you’re headed in the wrong direction, technology won’t help you get to the right place” (p.439). Therefore, carefully planned instructional strategies and goals are necessary to create a learning environment where the students can learn online while giving them the tools they need to succeed in the course while keeping a sense of belonging to a community of practice.

3.3. Teaching and learning strategies

The acquisition and the participation metaphors will be applied to the instructional strategies (see Sfard, 2005). Acquisition will be related to the reading assignments and the reading of the materials provided by the instructor to help students gain the fundamental knowledge of the course content. The participation metaphor will be evident in the discussion forums, where the students are expected to search and contribute with credible sources of information (active-inquiry learning) for their peers and engage in communications regarding the course assignments (active-collaborative learning).

Active learning, as described by Angelo (2005), is “meaningful, long-lasting changes in knowledge, understanding, behavior, dispositions, appreciations…” (p.454). It is expected that what the students gain in knowledge and experience in the course will help them academically and professionally in the future. This will be achieved by giving the opportunity to actively search for reliable information relevant to the course assignments and sharing/discussing those references and ideas with peers.

In addition, integrating role playing to activities or assignments can give the opportunity to include knowledge about other cultures and globalization. Professionals in technology-related careers can work for any company anywhere in the world. Therefore, the students enrolled in this course should be exposed to other cultures and the possibility of having a “customer” from a different culture and country. The course will integrate a project, which will substitute a third exam in the current offering, to help students become sensitive and empathic interpreters, infusing diverse perspectives throughout the curriculum (Nussbaum, 2005).

3.4 Articulation, transfer, approval, or professional licensing concerns

The Information systems program is offered completely in the main campus, eliminating the need to transfer students to other campuses. However, other campuses of the institution may transfer students to the main campus program. That will not pose a problem since the transfer courses are equivalent in course code and content to the ones offered in the main campus. Moreover, having the course offered online will facilitate students from other campuses to enroll in it without the need to travel, transfer, or further approvals.

3.5 Accreditation issues

Universidad del Este is accredited by the Council of Higher Education of Puerto Rico (Consejo de Educación Superior de Puerto Rico) and Middle States Association of Colleges and Schools. The Middle States Commission on Higher Education is a division of the Middle States Association of Colleges and Schools that accredits educational centers and universities located in the middle states region that confer associate degrees, baccalaureate and beyond. The commission examines the institution in general and not specific programs offered by the institution.

3.6. Nature of the Subject

It is of vital importance that the students understand, practice and apply the tools frequently used to solve logical problems and prepare the student with the good working knowledge-base they will need in future programming courses and their careers. In addition, the students will understand the logic of programming in general as the foundation to make them capable to specify the logic of complex modern computer problems. In addition, the C++ programming language syntax will provide the means to teach a specific programming language that generalizes to other current programming languages.

3.7. Characteristics of the Learners

Adult students from 18 years and older comprise the target population. From 2006 statistics, 64.6% are less than 20 years old, 18.6% are from 20-24 years old, and 16.8% are more than 24 years old. Many have full-time jobs, full-time studies, and family commitments to respond to. The university has an innovative program to help adult student with full time jobs called Adult Program AHORA (NOW). This program had 2,740 students enrolled in 2006 with a 17.9% increase from the previous year. This program is attracting students who need special assistance with their many life responsibilities, while attempting to achieve a college education. Learners in this program tend to be very focused on what they are looking for in terms of their educational goals, tend to come with extensive prior experiences from their jobs, and are looking to achieve their educational goals without sacrificing what is important to them and the quality of their education.

3.8. Characteristics of the Instructor- Professional qualifications

The instructor(s) should have at least an M.S. in Information Systems, Computer Science or related fields. In addition, work experience as a programmer is necessary since the students must be exposed in class to practical applications in the field. Previous experience teaching an online course is desired.

4.  Course content

4.1. Course description for the college catalog- Introduction to the development of algorithms and computer programming using the C++ language. The course includes the design, algorithm representation, flowcharts, pseudo-code and coding of programs. In addition, study of the basic elements of the C++ language, such as basic data types, control structures and routines. Structured programming concepts are also covered.

4.2. Prerequisites- COMP 110 Computer applications (Microsoft Office applications) and College Algebra.

4.3. Outline of the course topics

I.  Processes and programming structures

  1. Fundamental concepts of computers
  2. Tools used for programming
  3. Definition of logic
  4. Algorithm
  5. Flowchart
  6. Pseudo code
  7. Constants and variables
  8. Data types
  9. Numerical
  10. Integer
  11. Real
  12. Alphanumeric
  13. Character
  14. String
  15. Logic
  16. Functions
  17. Operators
  18. Arithmetic
  19. Relation
  20. Logic
  21. Assignment
  22. Expressions and equations
  23. Programming concepts
  24. Data organization
  25. Communication with the computer and the compiler/debugger
  26. Analysis of programming problems
  27. Development of structured diagram
  28. Algorithm notation
  29. Development of flowcharts
  30. Internal and external documentation of a program
  31. Solution testing and debugging
  32. Coding of programs in the C++ programming language

II.  Structured flowchart

  1. Flowchart requirements
  2. Modular flowcharts
  3. Local functions and global functions
  4. Parameters
  5. Variable names

III.  Logic structures in C++

  1. Sequential
  2. Decision
  3. Sequential
  4. If/Then/Else
  5. Positive logic
  6. Negative logic
  7. Logic conversion
  8. Decision tables
  9. Loops
  10. Counters
  11. WHILE
  12. DO WHILE
  13. FOR
  14. Nested loops
  15. Recursion
  16. Selection
  17. CASE/SWITCH
  18. Menus

4.4. Textbooks and other sources

Sprankle, M. & Hubbard, J. (2008). Problem Solving & Programming Concepts (8th

ed.). New Jersey: Pearson Prentice Hall (ISBN-10: 0136060609, ISBN-13: 978-

0136060604).

Online resources posted by the instructor of the course such as presentations,

examples, and practice exercises.

5.  Significant learning goals (outcomes)

5.1. Foundational knowledge

5.1.1.  Understand the importance of new tools in the solution of programming problems.

5.1.2.  Understand and apply the logic of computer programming to practical problems.

5.1.3.  Understand and remember the control structures in a structured programming language.

5.1.4.  Understand and remember functions and procedures.

5.1.5.  Understand and remember the syntax of the C++ programming language.

5.2.  Application and integration

5.2.1.  To solve complex computer programming problems using algorithms, flowcharts and C++ code.

5.2.2.  Identify alternative algorithms and tools to solve different logic problems in computer programming.

5.2.3.  Analyze logical programming problems that are usually involved in computer programming.

5.2.4.  Integrate the techniques and concepts of structured programming.

5.3.  Human dimensions- Globalization

5.3.1.  Develop a complex programming solution for a hypothetical foreign customer, integrating the concepts and tools presented in class.

5.4.  Learning how to learn

5.4.1.  Recognize valid sources to search for additional tools and guidance when needed in their practice of the computer programmer profession.

6.  Detailed description of the course

6.1.  Syllabus- See Appendix

6.2. Description of online activities- Apart from a midterm and final take-home exam, practical real-life assignments will provide an opportunity for collaboration among peers in the online forum (or blog). Collaboration to search for resources and generation of ideas is encouraged among the online students. Thus, creating a learning-centered course where in addition to exams, the students can talk about their assignments and help each other with resources and ideas on how to solve the problems. However, all students are expected to submit their own original version for the solutions of online assignments, creating an opportunity to condense various sources of information and ideas into their own solution. The student’s solution to the problem must be representative of the knowledge required to solve the problem in a real-life context. Such assignments will prepare the students for the workforce when they graduate and begin to practice their professions.

7. Evaluation

7.1. Major assignments and grading criteria

7.1.1. Assignments (6 for a total of 40 points)

§  Assignment 1 and 2 will be worth 6 points each. Assignments 3-6 will be worth 7 points each.

§  Each assignment along with comprehensive explanation will be posted by the instructor the week of the corresponding chapter(s).

§  Assignments will be attached to a forum (or blog) activity, where the students are expected to collaborate with each other with ideas and resources to solve the problems from the assignments. This participation is part of the evaluation, counting for 2 points on each assignment as an incentive for collaborating and sharing ideas. This is representative of the actual environment where programmers share ideas in the workplace to solve problems.

§  After students submit their original solutions to the problems in the assignments, the instructor will provide extensive feedback regarding the solutions offered by the student, the compiling errors if any, how to solve them, and if needed, comments regarding a more appropriate solution.

7.1.2. Programming project (20 points)

§  The project will give an opportunity to create a solution to a real world problem for a hypothetical foreign customer. The instructor will generate a variety of problem scenarios, each describing the programming problem and the cultural setting along with relevant cultural characteristics of the foreign customer (i.e. etiquette, conversation, respect…). Students must select and inform the instructor which problem they prefer to work on by the 7th week. The student will work individually to solve the problem and will present it to the “customer” (i.e. the instructor and other students) during an online presentation using the E-lluminate V-room at a predetermined concurrent session that must take place on the 11th week.

7.1.3. Midterm and Final take-home exams (20 points each)

§  The exams will be take-home open book style and will include theoretical and practical problems. The student will be able to access the exam at the first day of the 12th week and will have until the end of the week to complete and submit their individual and original answers. No collaboration is allowed in these evaluations. No online forums or blogs will be created or accessed for these. For the midterm, extensive feedback will be offered by the instructor. For the final exam, feedback will be also provided per student request.

8. Integration

Learning goal / Ways of assessing this kind of learning / Actual teaching-learning activities / Helpful resources