Department of Information Technology
ENDT200: Introduction to Programming
Credit Hours: 3
Length of Course: 8 Weeks
Prerequisite(s): None
Table of Contents
Instructor Information Evaluation Procedures
Course Description Grading Scale
Course Scope Course Outline
Course Objectives Policies
Course Delivery Method Academic Services
Course Resources Selected Bibliography
Instructor Information
Instructor:
Email:
Table of Contents
Course Description (Catalog)
This course introduces students to writing computer programs. The class presents the principles of structured
programming using the Python language, one of the most increasingly preferred languages for programming
today. Because of its ease of use, it is ideal as a first programming language and runs on both the PC and
Macintosh platforms. The course is designed for people without previous programming experience who do
not necessarily plan on becoming professional programmers. However, the knowledge gained in the class can
be applied later to other languages such as C and Java. Participants learn to solve problems logically by
breaking them into smaller pieces, which can then be solved. The course uses iPython Notebook to afford a
more interactive experience. Topics include: introduction to computing - how does a computer work; input
and output - getting information to and from the user; variables and expressions - performing arithmetic; data
statements - reading information from inside the program; text files - reading information from other files;
arrays - groups of variables; debugging - finding errors in your program; graphics; and formatting - changing
how things look on the screen. [3 Semester Hours]
Table of Contents
Course Scope
In this course describes basic programming concepts and techniques. The course examines theoretical
concepts that make the world of programming unique. This course adopts a practical hands-on approach
when examining programming styles. Students will learn how to develop pseudocode for program design and
how to review and read flowcharts. Along with examining different coding techniques, this course will explore
the advancement of programming, as well as, timeless problem solving strategies.
Table of Contents
Course Objectives
After successfully completing this course, you will be able to:
CO-1: Explain the process for designing and developing software
CO-2: Examine the benefits of modularizing software
CO-3: Apply the logic for a software application
CO-4: Apply the use of decision tables to design branching
CO-5: Examine the different control loops
CO-6: Use and manipulate arrays
CO-7: Summarize good software development practices
Table of Contents
Course Delivery Method
This course delivered via distance learning will enable students to complete academic work in a flexible manner,
completely online. Course materials and access to an online learning management system will be made available
to each student. Online assignments are due by Sunday evening of the week as noted and include Forum questions
(accomplished in groups through a threaded forum), examination, and individual assignments submitted for review
by the Faculty Member). Assigned faculty will support the students throughout this eight-week course.
Table of Contents
Course Resources
• Mueller, John P. (2014). Beginning Programming with Python For Dummies. Hoboken, NJ: John Wiley &
Sons, Inc. ISBN 978-111-8891-452.
• Open Education Resources (OER) provided in the Lesson Overview area of the Classroom.
Table of Contents
Evaluation Procedures
Students are expected to maintain routine contact with the instructor throughout the course. While the
number of contacts may vary according to the specific course and individual student need, the University
requires periodic weekly contacts during the semester. Contact will consist of professor notes, forum
interaction, and email feedback. The method of discussion will be on-line related to issues concerning
forum assignments, lesson assignments, and the final project.
TEXTBOOK READINGS
The main book for the course, Beginning Programming for Dummies, will be used for textbook readings.
Review the table at the end of the syllabus to see assigned readings for each week.
FORUM
The Forum assignments for this course are designed to promote interactivity among students and enhance the
online learning process. The Forum provides maximum flexibility because you do not have to be online at the
same time as another person and you can read what other students have written.
Forum Timing: For the forum, you must post your work by midnight on Thursday, continue to follow your
classmates' posts for the remainder of the week, and post the follow-up peer responses prior to midnight on
Sunday, except for week one. Your follow-up posts can add additional insight to a classmate's opinions or can
challenge their opinions. Use examples from the readings, or from your own research, to support your views, as
appropriate. Be sure to read the follow-up posts to your own posts and reply to any questions or requests for
clarification. You are encouraged to conduct research and use other sources to support your answers.
Required Participation: Please keep in mind that the forum assignments require you to make at least 1 post to the
forum with at least 250 words about the topic and also respond to at least 2 peers’ posts with at least 150 words.
Please be advised that there will be point deductions if you do not comply with these requirements of the
assignment. Each one of you will have a different and unique experience that we can all learn from. Your
participation in the Forums unleashes the power of synergy in our classroom. To facilitate this interaction, please
be prompt when posting your forum work for each week; this provides time for the others to actively engage in
the dialogue. For practical reasons, when you respond to other learners’ posts, please start your response by
referencing their name. I will read and grade your participation by reading the forum. There is no need to also
post your forum work in the assignments area of the classroom. Refer to the forum and the syllabus for more
details on grading.
WEEKLY ASSIGNMENTS
There will be weekly assignments for this course to reinforce your reading and learning. Students will use Python
3.x to practice programming concepts. Complete the weekly exercises required as stated in the Assignments area;
then submit your work in the assignments area of the classroom as required.
FINAL GRADE IS BASED UPON: All work will be graded on a 100-point raw score basis. There are a total of 100
weighted points for this course broken down as follows:
Grade Instruments Points
Forums 50
Assignments 50
Total 100
8 – Week Course Outline
Please see the Student Handbook to reference the University’s grading scale.
Table of Contents
Week Topic(s) Learning Reading(s) Assignment(s)
Objective(s)
1 • Different CO-1: Explain Introduction Week 1 Introduction
Methods for the process for Chapters 1-2 Week 1 Forum:
Writing designing and Programming
Program developing Review Power Point Presentation/Video Lecture Development Cycle
software (OERs):
• Flowcharts and
• ABMC4007 (Part 1-4) Computer pseudo code
Programming - a typical software
development life-cycle
• What Is Systems Development Life Cycle?
• Pseudocode
• Course Promo: Introduction to Python
• Program Flow Chart
• Pseudo Code Example
• Structure Chart to Pseudo code – Sequence
• Software - Systems Lifecycle: Development
2 • Programming • CO-1: Chapters 3-4 Week 2 Forum
Tools and Explain the Understanding the
Structures process for Review Power Point Presentation/Video Lecture three basic structures:
designing (OERs): Sequence, selection
and • Computer programming series: basic and loop
developing programming structures
software • Python Programming: Decision Structures Week 2 Assignment
• CO-3: Apply • Should We Implement It - Intro to Computer
the logic for Science • Modularization
a software • What Should We Do Next - Intro to • Storyboards,
application Computer Science flowcharts,
• Next Step - Intro to Computer Science pseudo code
• First Step - Intro to Computer Science
• Recursive Graphs - Intro to Algorithms
• Recursive Naive - Intro to Algorithms
• Think Python/Variables, expressions and
statements
3 • How a CO-3: Apply the Chapters 5-6 Week 3 Forum -
Program logic for a Mainline Logic,
Works software Review Power Point Presentation/Video Lecture Variables, Data types
application (OERs):
• Python Programming: Generalizing Week 3 Assignment
Procedures
• [Python for beginners ] Understanding the • Boolean logic
Order of Operators • Declaring
• Python Programming Tutorial - Fahrenheit to variables
Celsius Program in Python • Selecting data
• Learn Python - Code Example - HANGMAN types
• Using Math to
manipulate
numbers
4 • Making CO-4: Apply the Chapter 7 Week 4 Forum-–
Decisions by use of decision Making Decisions
Branching tables to design Review Power Point Presentation/Video Lecture Programming Style
branching (OERs): Week 4 Assignment
• Structure Chart to Pseudo code – Decision • Declaring
• Intro To Python: Boolean operators variables
• Intro To Python: Selection Statements • Using Math to
• Python elif and nested if Statements manipulate
• Programming in python if, elif and else numbers
statements
• Python 3 Programming Tutorial: If Elif Else
• Python Programming Tutorial- 05 IF,Else &
Elif Statements in Python
5 • Repeating • CO-4: Apply Chapters 8-9 Week 5 Forum Working
Commands the use of with Loops
by Looping decision Review Power Point Presentation/Video Lecture
• tables to (OERs): Week 5 Assignment
design • Python Programming Tutorial -7- Control
branching Flow • IF/THEN/ELSE
• CO-5: • Python Programming: Repetition & • FOR-NEXT
Examine the Procedures Loop
different • Python Programming - A Media Approach • WHILE Loop
control loops Section 6: Repetition • Nested Loops
• Structure Chart to Pseudo code - Iteration - • Subprograms
Pre-Test-loop
• Structure Chart to Pseudo code - Fixed
Iteration
• Computer Programming: For Loops in Python
• Computer Programming: While Loops in
Python
6 • Reading and • CO-2: Chapters 10-11 Week 6 Forum –
Saving Files Examine the Documentation and
• Documenting benefits of Review Power Point Presentation/Video Lecture modularizing
Your modularizing (OERs):
Program software • Documenting Software Architectures Week 6 Assignment
• Principles of • CO-7: • Introduction to Software
User Summarize Engineering/Implementation/Documentation • IF/THEN/ELSE
Interface good • Introduction to Software • Loops
Design software Engineering/Tools/Software Documentation
development • Software - Systems Lifecycle: Documentation
practices • Documentation Views
• Introduction to Requirements
Documentation
• What is the difference between Scope,
Functional Requirements and Non-Functional
requirements
7 • Structures CO-6: Use and Chapters 12-14 Week 7 Forum -
and Arrays manipulate Arrays/Lists
• Sets and arrays Review Power Point Presentation/Video Lecture
Linked Lists (OERs): Week 7 Assignment
• Python Programming Tutorial - Part 7 - Lists • Working with
& Tuples Arrays and
• Python - Tuples and Lists [Arrays] (Lesson 7) Lists
• Tuples vs Lists (Python)
• Python 4 - Lists Tuples and Dictionary
8 • Collections CO-7: Summarize Chapters 15-20 Week 8 Forum
and good software Week 8 Assignment
Dictionaries development Review Power Point Presentation/Video Lecture
• Stacks, practices (OERs): • Working with
Queues, and • Functional Programming with Python | Arrays and
Deques Modifying Data Structures Lists
• 004 Switch Statements Workaround
• 01 Data Structures - Queues (Python)
• [Python for beginners ] Inheritance
Table of Contents
Policies
Please see the Student Handbook to reference all University policies. Quick links to frequently asked question
about policies are listed below.
• Drop/Withdrawal policy
• The University encourages all work to be completed according to the course
schedule. The University Late Work Policy can be found in the Student
Handbook here.
• Extension Requests
• Academic Probation
• Appeals
• Disability Accommodations
Late Assignments
Students are expected to submit classroom assignments by the posted due date and to complete the course
according to the published class schedule. As adults, students, and working professionals, I understand you must
manage competing demands on your time. Should you need additional time to complete an assignment, please
contact me before the due date so we can discuss the situation and determine an acceptable resolution. Routine
submission of late assignments is unacceptable and may result in points deducted from your final course grade.
Waiting until the last week to submit assignments is not acceptable and will result in receiving no more than half
credit.
Netiquette
Online universities promote the advancement of knowledge through positive and constructive debate – both inside
and outside the classroom. Forums on the Internet, however, can occasionally degenerate into needless insults and
“flaming.” Such activity and the loss of good manners are not acceptable in a university setting – basic academic
rules of good behavior and proper “Netiquette” must persist. Remember that you are in a place for the rewards and
excitement of learning which does not include descent to personal attacks or student attempts to stifle the Forum
of others.
• Technology Limitations: While you should feel free to explore the full-range of creative composition in
your formal papers, keep e-mail layouts simple. The Sakai classroom may not fully support MIME or HTML
encoded messages, which means that bold face, italics, underlining, and a variety of color-coding or other
visual effects will not translate in your e-mail messages.
• Humor Note: Despite the best of intentions, jokes and especially satire can easily get lost or taken seriously.
If you feel the need for humor, you may wish to add “emoticons” to help alert your readers: ;-), : ), ☺
Disclaimer Statement
Course content may vary from the outline to meet the needs of this particular group.
Table of Contents
Online Library
The Online Library is available to enrolled students and faculty from inside the electronic campus. This is your starting
point for access to online books, subscription periodicals, and Web resources that are designed to support your
classes and generally not available through search engines on the open Web. In addition, the Online Library provides
access to special learning resources, which the University has contracted to assist with your studies. Questions can
be directed to [email protected].
• Charles Town Library and Inter Library Loan: The University maintains a special library with a limited
number of supporting volumes, collection of our professors’ publication, and services to search and
borrow research books and articles from other libraries.
• Electronic Books: You can use the online library to uncover and download over 50,000 titles, which have
been scanned and made available in electronic format.
• Electronic Journals: The University provides access to over 12,000 journals, which are available in
electronic form and only through limited subscription services.
• Tutor.com: AMU and APU Civilian & Coast Guard students are eligible for 10 free hours of tutoring
provided by APUS. Tutor.com connects you with a professional tutor online 24/7 to provide help with
assignments, studying, test prep, resume writing, and more. Tutor.com is tutoring the way it was meant
to be. You get expert tutoring whenever you need help, and you work one-to-one with your tutor in your
online classroom on your specific problem until it is done.
Request a Library Guide for your course (http://apus.libguides.com/index.php)
The AMU/APU Library Guides provide access to collections of trusted sites on the Open Web and licensed
resources on the Deep Web. The following are specially tailored for academic research at APUS:
• Program Portals contain topical and methodological resources to help launch general research in the
degree program. To locate, search by department name, or navigate by school.
• Course Lib-Guides narrow the focus to relevant resources for the corresponding course. To locate,
search by class code (e.g., SOCI111), or class name.
If a guide you need is not available yet, please email the APUS Library: [email protected].
Table of Contents
Turnitin
Assignments submitted may be evaluated using Turnitin in the classroom. Turnitin will analyze the paper and
report instances of potential plagiarism or academic integrity for you to edit before submitting it for a grade.
Selected Bibliography
For general information regarding programming logic/development and its tools:
APUS On-line Library
Farrell, J. (2011). Programming logic and design introductory, (6th ed.). Boston, MA: Course Technology:
Cengage Learning. ISBN-10: 0-538-74477-4.
For more information on flowcharting see:
http://www.nos.org/htm/basic2.htm
http://www.hci.com.au/hcisite2/toolkit/flowchar.htm
For the free interactive flowcharting tool that will be used in this class, see the following link to download the
software:
http://raptor.martincarlisle.com/
You can test your logic with this interactive tool that actually executes your logical steps from input to output.
Additional information on the function of Raptor can be found in Course Resources\Raptor Software
For more information on decision and loop structures see:
http://msdn2.microsoft.com/en-us/library/hh892482
For more information on arrays see:
http://en.wikipedia.org/wiki/Array
For information on pointers and arrays in C see:
http://pw1.netcom.com/~tjensen/ptr/pointers.htm
For more information on numbering systems and ASCII code see:
http://en.wikiedia.org/wiki/ASCII
http://en.wikipedia.org/wiki/Numbering_systems
Additional references are found in the Lessons Page of the classroom.
Table of Contents