Fundamentals of Programming


  2. A. Course Title: Fundamentals of Programming
    B. Course Number: CS 113 - 10038
    C. Semester: Spring 2017
    D. Days/Time: M W F 9:00:00 AM - 10:40:00 AM
    E. Credit Hours: 3
    F. Instructor: Shook, Angila
    G. Office: C.M. Burke University Center (UC) 232
    H. Email Address:
    I. Office Phone: (575) 492-2658
    J. Office Hours: Monday: 7:45:00 AM-9:00:00 AM (MST); 10:45:00 AM-11:00:00 AM (MST); 12:45:00 PM-1:15:00 PM (MST);
    Tuesday: 8:30:00 AM-11:00:00 AM (MST);
    Wednesday: 7:45:00 AM-9:00:00 AM (MST); 10:45:00 AM-11:00:00 AM (MST);
    Thursday: 8:30:00 AM-11:00:00 AM (MST);
    Friday: 7:45:00 AM-8:45:00 AM (MST); 10:30:00 AM-11:00:00 AM (MST);
    If you need a different time, please contact me to setup an appointment.
    K. Time Zone: Mountain Time
    L. Prerequisite(s): Student must have completed MA 113A equivalent or higher.
    M. Corequisite(s):
    N. Class Location: BUC237

    This course provides a guide to developing structured program logic. The course assumes no programming experience and does not focus on any one particular language. It introduces programming concepts and enforces good style and logical thinking. This is a three credit hour course. Prerequisite: Student must have completed MA 113A equivalent or higher.


    The target audience is undergraduate students majoring or concentrating in information systems. Transferability is based on target institution.



    Programming Logic and Design, Comprehensive
    Author(s): Farrell, Joyce
    ISBN: 1-285-77671-2
    ISBN-13: 978-1-285-77671-2
    Edition / Copyright: 8TH 15 - Current Edition
    Publisher: Cengage Learning


    Flash Drive or Google account

    You can buy your books online at the NMJC Bookstore.


    Students attending New Mexico Junior College will be evaluated according to the following grading scale:

    						90 - 100%	=	A
    						80 -  89%	=	B
    						70 -  79%	=	C
    						60 -  69%	=	D
    					 	 0 -  59%	=	F

    Late work will not be accepted.

    All exams and assignments will be scored on a 100 point scale.

    Final Grade calculated on the scale below:
    Exams (M/C T/F) 40%
    Homework Projects 30%
    Quizzes (M/C T/F) 10%
    Attendance (20%)
    The course will be divided into modules containing projects, quizzes, and exams. It will be administered in Canvas. The exams and quizzes will consist of multiple choice and true false questions or flowcharts of programs, and the final exam will be comprehensive. The homework projects will be completed using a flow charting program.


    New Mexico Junior College’s institutional student learning outcomes represent the knowledge and abilities developed by students attending New Mexico Junior College. Upon completion students should achieve the following learning outcomes along with specific curriculum outcomes for respective areas of study:


    The objective of the Computer Information Systems program is to prepare students for entry-level employment in the computer industry. Students who successfully complete the program should be able to configure and maintain a personal computer, utilize application and system software, and one of the following dependent on the emphasis area: design and implement software on various platforms or configure and maintain a network.


    At the completion of the course, a student should be able to:
    • Discuss computers and logic
    • Discuss structure
    • Utilize modules, hierarchy charts, and documentation
    • Design and write a complete program
    • Implement decisions within the logic
    • Utilize looping
    • Utilize control breaks
    • Utilize arrays
    • Utilize advanced array manipulation
    • Use menus and validate input
    • Utilize sequential file merging, matching, and updating
    • Utilize advanced modularization techniques
    • Implement object-oriented programming


    Messages will be returned by the end of the next business day. Grades will be posted by one week following assignment deadline.


    Students will be held responsible for the information on these pages.

    Academic Honesty
    Each student is expected to maintain the highest standards of honesty and integrity in online academic and professional matters. The College reserves the right to take disciplinary action, up to and including dismissal, against any student who is found guilty of academic dishonesty or otherwise fails to meet these standards. Academic dishonesty includes, but is not limited to, dishonesty in quizzes, tests, or assignments; claiming credit for work not done or done by others; and nondisclosure or misrepresentation in filling out applications or other College records. Cheating or gaining illegal information for any type of graded work is considered dishonest and will be dealt with accordingly.

    Americans with Disabilities Act (ADA) Information
    Any student requiring special accommodations should contact the Special Needs Student Services Coordinator at (575) 492-2576 or by e-mail at

    Attendance Policy
    Attendance is required at every session of each course for which the student is enrolled. When unavoidable circumstances make attendance impossible, students must provide a satisfactory explanation of their absences to their professors. College-sponsored activities are considered excused absences and the appropriate sponsor of those students who will be absent from class will notify professors. Students having absences due to college-sponsored activities will need to make arrangements with the affected classes / professor to take care of required work; however, arrangements for make-ups should be made within a reasonable time frame, usually within one week of the absence. Regarding make-up work, absences due to late registration are considered the same as regular absences.

    Cell Phones/Pagers
    All cell phones and pagers must be turned off when the student is participating in any lecture, laboratory, or other learning activity.

    Classroom Conduct
    The professor is responsible for maintaining a class environment best suited for effective learning. By registering for this class, the student is assumed to have entered into an agreement with New Mexico Junior College and the professor to attend the class regularly and to behave in an appropriate manner at all times. Disruptive behavior may result in the student being removed from the class.

    Food and Drink Policy
    Food items and soft drinks may not be consumed in NMJC classrooms. Students are also discouraged from bringing food and drink items into the classroom even though these items remain in sealed packaging. Bottled water is permissible.

    No Children in the Classroom
    In order to adhere to instructional procedures as well as maintain the safety of children, NMJC’s policy of no children in the classrooms (lecture, lab, etc.) will be followed.

    Offering the work of another as one’s own, without proper acknowledgment, is plagiarism; therefore, any student who fails to give credit for quotations or essentially identical expression of material taken from books, encyclopedias, magazines and other reference works, or from the themes, reports, or other writings of a fellow student, is guilty of plagiarism. Plagiarism violates the academic honesty policy and is considered cheating.

    Smoking/Use of Tobacco
    New Mexico Junior College is cognizant of the health hazards associated with smoking / use of tobacco for the smoker, as well as the non-smoker. In an effort to provide a healthy environment for students, employees, and others who may frequent the campus, NMJC prohibits smoking / use of tobacco inside any campus building or facility.

    Tutoring Assistance
    Free tutoring services are available to all NMJC students through Brainfuse and the Academic Success Center located in Mansur Hall room 123 and 124.

    Withdrawal Policy
    Regular, punctual attendance is required for all classes at NMJC. Although the professor has the right to drop any student who has missed the equivalent of 2 weeks of instruction (based on a 16 week semester) whether it’s a face to face, online, or a hybrid course, it is not guaranteed that the professor will drop the student. If the student chooses to stop attending a class, he/she should withdraw from the class by accessing your student account in the T-Bird Web Portal at, or submitting the required paperwork to the Registrar’s Office by 5:00 p.m. on Thursday, April 20, 2017. All students are encouraged to discuss their class status with the professor prior to withdrawing from the class.

  15. COURSE OUTLINE Instructor reserves the right to make changes as needed by email or course announcement.


    Topics Covered

    Due Date

    Module 0

    Introduction to Canvas and course




     And  Ethics

    Do & Don't of Professionalism


    Module 1

    • Understanding Computer Systems
    • Understanding Simple Program Logic
    • Understanding the Program Development Cycle
    • Using Pseudocode Statements and Flowchart Symbols
    • Using a Sentinel Value to End a Program
    • Understanding Programming and User Environments
    • Understanding the Evolution of Programming Models
    • Declaring and Using Variables and Constants
    • Performing Arithmetic Operations
    • Understanding the Advantages of Modularization
    • Modularizing a Program
    • Creating Hierarchy Charts
    • Features of Good Program Design
    • The Disadvantages of Unstructured Spaghetti Code
    • Understanding the Three Basic Structures
    • Using a Priming Input to Structure a Program
    • Understanding the Reasons for Structure
    • Recognizing Structure
    • Structuring and Modularizing Unstructured Logic



    Module 2

    • Boolean Expressions and the Selection Structure
    • Using Relational Comparison Operators
    • Understanding AND Logic
    • Understanding OR Logic
    • Understanding NOT Logic
    • Making Selections within Ranges
    • Understanding Precedence When Combining AND and OR Operators
    • Understanding the Advantages of Looping
    • Using a Loop Control Variable
    • Nested Loops
    • Avoiding Common Loop Mistakes
    • Using a for Loop
    • Common Loop Applications
    • Comparing Selections and Loops
    • How an Array Can Replace Nested Decisions
    • Using Constants with Arrays
    • Searching an Array for an Exact Match
    • Using Parallel Arrays
    • Searching an Array for a Range Match
    • Remaining within Array Bounds
    • Using a for Loop to Process an Array



    Module 3

    • Understanding Computer Files
    • Understanding the Data Hierarchy
    • Performing File Operations
    • Understanding Control Break Logic
    • Merging Sequential Files
    • Master and Transaction File Processing
    • Random Access Files
    • Understanding the Need for Sorting Data
    • Using the Bubble Sort Algorithm
    • Sorting Multifield Records
    • Using the Insertion Sort Algorithm
    • Using Multidimensional Arrays
    • Using Indexed Files and Linked Lists
    • The Parts of a Method
    • Using Methods with no Parameters
    • Creating Methods That Require Parameters
    • Creating Methods That Return a Value
    • Passing an Array to a Method
    • Overloading Methods
    • Using Predefined Methods
    • Method Design Issues: Implementation Hiding, Cohesion, and Coupling
    • Understanding Recursion



    Final Exam


    May 10 @ 10:00 AM

    The course will be divided into modules containing projects, quizzes, and exams. It will be administered in Canvas. The exams and quizzes will consist of multiple choice and true false questions or flowcharts of programs, and the final exam will be comprehensive. The homework projects will be completed using a flow charting program.