COSC 1436

Programming Fundamentals I

COSC 1436

Updated August 29, 2012

  • State Approval Code: 11.0201.52 07
  • Semester Credit Hours: 4
  • Lecture Hours per Week: 3
  • Lab Hours per Week: 3
  • Contact Hours per Semester: 96

Catalog Description

Catalog Description: This course is an introduction to computer programming in the “C++” programming language. Emphasis is on the fundamentals of structured design, development, testing, implementation, and documentation. It includes coverage of language syntax, data and file structures, input/output devices, and disks/files.

Prerequisites

COSC 1301

Course Curriculum

Basic Intellectual Compentencies in the Core Curriculum

  • Reading
  • Writing
  • Speaking
  • Listening
  • Critical thinking
  • Computer literacy

Perspectives in the Core Curriculum

  • Establish broad and multiple perspectives on the individual in relationship to the larger society and world in which he/she lives, and to understand the responsibilities of living in a culturally and ethnically diversified world.
  • Stimulate a capacity to discuss and reflect upon individual, political, economic, and social aspects of life in order to understand ways in which to be a responsible member of society.
  • Recognize the importance of maintaining health and wellness.
  • Develop a capacity to use knowledge of how technology and science affect their lives.
  • Develop personal values for ethical behavior.
  • Develop the ability to make aesthetic judgments.
  • Use logical reasoning in problem solving.
  • Integrate knowledge and understand the interrelationships of the scholarly disciplines.

Core Components and Related Exemplary Educational Objectives

Communication (composition, speech, modern language)

  • To understand and demonstrate writing and speaking processes through invention, organization, drafting, revision, editing, and presentation.
  • To develop the ability to research and write a documented paper and/or to give an oral presentation.

Mathematics

  • To apply arithmetic, algebraic, geometric, higher-order thinking, and statistical methods to modeling and solving real-world situations.
  • To represent and evaluate basic mathematical information verbally, numerically, graphically, and symbolically.
  • To interpret mathematical models such as formulas, graphs, tables and schematics, and draw inferences from them.
  • To recognize the limitations of mathematical and statistical models.

Natural Sciences

  • To demonstrate knowledge of the interdependence of science and technology and their influence on, and contribution to, modern culture.

Social and Behavioral Sciences

  • To employ the appropriate methods, technologies, and data that social and behavioral scientists use to investigate the human condition.
  • To examine social institutions and processes across a range of historical periods, social structures, and cultures.
  • To use and critique alternative explanatory systems or theories.
  • To analyze the effects of historical, social, political, economic, cultural, and global forces on the area under study.
  • To comprehend the origins and evolution of U.S. and Texas political systems, with a focus on the growth of political institutions, the constitutions of the U.S. and Texas, federalism, civil liberties, and civil and human rights.
  • To identify and understand differences and commonalities within diverse cultures.

Instructional Goals and Purposes

Panola College's instructional goals include 1) creating an academic atmosphere in which students may develop their intellects and skills and 2) providing courses so students may receive a certificate/an associate degree or transfer to a senior institution that offers baccalaureate degrees.

General Course Objectives

1.    Develop programs using fundamental concepts of structured programming.

2.    Use software development methodology in program problem solving.

3.    Code programs using data types, control structures, functions and arrays.

4.    Demonstrate the ability to run, test, and debug programs.

Specific Course Objectives

After studying the material presented in the text and online, the student should be able to complete all behavioral/learning objectives listed below with a minimum competency of 70% on assignments and exams.

  1. Develop programs using fundamental concepts of structured programming. (1a-i, 1a-iv, 1b-iv, 1b-vi, 1c-iv, 2c-i, 2c-ii, 2c-iii, 2civ)

    1. Create programs using basic elements of C++ including variables and I/O statements

    2. Code arithmetic computations

    3. Develop programs with simple and compound conditions,

  2. Use software development methodology in program problem solving. (1a-i, 1a-ii, 1a-iv, 1b-iv, 1b-v, 2c-i, 2c-ii, 2c-iii, 2c-iv)

    1. Develop algorithms

    2. Plan and design program logic with pseudocode

    3. Develop programs using selection structures including if and switch statements

    4. Write a simple program using the techniques of top-down design of algorithms and structured programming.

  3. Code programs using data types, control structures, functions and arrays. (1a-i, 1a-iv, 1b-iv, 2c-ii, 2c-iv)

    1. Use repetition structures in programs including do and while loops

    2. Create programs using functions.

    3. Write modules that perform basic manipulations with one-dimensional arrays

    4. Code statements iterating over sequences

    5. Understand variable scope and be able to use variables appropriately in programs.

  4. Demonstrate the ability to run, test, and debug programs. (1a-i, 1a-iv, 1b-i, 1b-iii, 1b-iv, 1b-vi, 2c-i, 2c-ii, 2ciii, 2c-iv, 2d-iii)

    1. Create software using problem solving skills to design, code and test programs.

    2. Demonstrate the use of debugging functions available in software development tools.

    3. Run, test and debug programs.

 

General Description of Each Lecture or Discussion

Students in all sections of “C++” Programming I will be required to do the following:

  1. Students will submit computer programs for each learning module of the course. Each program must demonstrate comprehensive knowledge of the learning module represented.

  2. Students will assemble a portfolio of programming projects to be submitted at the end of the semester.

  3. Students will conduct an interactive presentation of a comprehensive programming project subject to peer and instructor evaluation.

Methods of Instruction/Course Format/Delivery

Students in both the traditional class and in the Internet class will have access to this course via Canvas. Students in the traditional class will meet regularly for lecture over the material. Students in the Internet class will only be required to meet with the instructor for testing; however, Internet students are always welcome to attend the traditional class (especially for exam reviews). Resources provided through Canvas include

 

  • A calendar displaying assignments each week (please check often)

  • Online assignments

  • Chapter notes

  • Email (totally contained within Canvas)

All assignments will be submitted through Canvas. After the assignment has been graded, the student will be able to view his or her grade by returning to the assignment and clicking the View Scores button or by clicking the My Grades link in the left banner. All exams will be hands-on application tests and students will not be able to view the answers to the exams online; however, they will be able to see their grade in My Grades and drop by the office to review their exams. I generally will have your work graded and posted within two days following the deadline.

Students in both the traditional and Internet classes should use the Email within Canvas to communicate with the instructor. Using Canvas email gives you access to the instructor and other classmates without having to remember or type email addresses—you just select a name from the list. If you are not able to contact me using email in Canvas, you may use my Panola College email address. I attempt to respond to all email within 24 hours. If you make an appointment with me through email to take an exam, for example, I will reply to your email—if I do not reply you should send your email to me again or call me. Please always include a subject line and your name in your email.

Assessment

The following items will be assigned during the semester and used to calculate the student’s final grade:

  • ASSIGNMENTS

We will work through each of the learning modules which correspond to the chapters in your textbook. At the end of each learning module, you will complete a programming project demonstrating your knowledge of the programming concepts presented in the learning module. Program source code will be submitted to me according to the schedule provided using the online drop box in the Assignments link of Canvas.

  • PORTFOLIO

The portfolio will be a collection of all program source code developed during the semester including a comprehensive programming project to be completed in the final weeks of the semester.

 

Portfolios are due by the scheduled deadline.

  • EXAMS

There will be one assessment to verify that you have the comprehensive knowledge required to produce your portfolio. You will demonstrate this knowledge by conducting an interactive presentation of a comprehensive programming project subject to peer and instructor evaluation.

Course Grade: 
The grading scale for this course is as follows:

  • Assignments – 20%

  • Portfolio – 50%

  • Exams – 30%

All of your grades including a mid-semester and final grade will be posted to My Grades in Canvas.

.

The grading scale for this course is as follows:

  • Assignments – 20%
  • Portfolio – 50%
  • Exams – 30%

All of your grades including a mid-semester and final grade will be posted to My Grades in Canvas.

Text, Required Readings, Materials, and Supplies

  • Required: An Introduction to Programming With C++, Sixth Edition by Diane Zak, 2007, Course Technology,
  • Access to a computer and the Internet.
  • Student data files and Dev-C++ are provided with the textbook.