UNCW Home UNCW HomeBreaking News! Click here for details.
 CSC 131-004 Introduction to Computer Science

Course Syllabus - Fall 2016

CI 2006: TR 1:00 pm -2:40 pm  
Blackboard / Schedule

Jack Tompkins
E-mail: tompkinsj@uncw.edu
Office Hours*: TR 10:00 - 11:00 am
*Students are welcome to ask questions any time my door is open and may schedule appointments outside office hours.
Phone: (910) 962-7013

Zach Krepps
E-mail: zdk5214@uncw.edu
Office: CI 2055
Office Hours: MWF 12:00-1:00 pm


CSC 131. Introduction to Computer Science (4) Prerequisite: MAT 111 or 115. Problem solving methods and algorithms in a modern high-level programming language. Introduces one or more programming environments. Emphasis on programming style and the design, coding, and testing of complete programs. Recommneded primarily for computer science majors. A grade of "C" (2.0) or better is required for taking any course for which CSC is a prerequisite.
Satisfies University Studies I: Foundations/Mathematics and Statistics. Satisfies University Studies IV: Building Competencies/Quantitative and Logical Reasoning. Partially satisfies University Studies III: Thematic Transdisciplinary Cluster/Modeling.


This section of CSC 131 will be learning to program using the Python programming language. No previous programming experience is assumed. Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. -python.org. 

Students will learn many core concepts in computer science and the fundamentals of software design and development, basic problem solving strategies and common design patterns in order to expedite the software development process. Students will also discover that computer programming is an art and beyond a program that "works" are issues of aesthetics, simplicity, and elegance. 


Think Python: How to Think Like a Computer Scientist 

Runestone Interactive - How to Think Like a Computer Scientist

A free online interactive text by Brad Miller and David Ranum created using Runestone Interactive to incorporate these unique features: 
    Activecode: A Javscript implementation of Python right in the book. Every example is runable and editable right in your browser.
    Codelens: Like having a debugger in the textbook. You can step forward and backward through the code and observe variables as they change.
    Interactive Exercises for self assessment
    Problem solving videos to help you understand important Python programming concepts
Register for course Python131 with no spaces. Take a tour by clicking this link.

Computer Science Circles -The Centre for Education in Mathematics and Computing (supplemental text)

University of Waterloo A free online interactive text
Each student should create an account using your first and last name and UNCW email, then go to "Edit My Profile" in the user menu at top right, and set the guru to be tompkinsj so I can give you credit for your homework and feedback on your progress.

STUDENT RESOURCES  (supplemental)


Your final grade will be determined based upon your performance on a in-term exams, the final exam, quizzes/homework/attendance, and lab/programming projects. Each midterm exam will be weighted 1/5, the final exam 1/5, quizzes/homework/attendance 1/5, and the lab/programming projects 1/5 of the final grade. Please note that the total points in Blackboard does not reflect this weighting so does not represent your grade.

In choosing UNCW, you have become part of our community of scholars. We recognize that the UNCW learning experience is challenging and requires hard work. It also requires a commitment to make time available to do that hard work. The university expects you to make academics your highest priority by dedicating your time and energy to training your mind and acquiring knowledge. Academic success in critical thinking and problem solving prepares you for the changes and challenges you will encounter in the future. Our faculty and academic support resources are readily available as partners in this effort, but the primary responsibility for learning is yours.

Learning Strategies

You are expected to take an active role in your learning in this course. This includes regular performance, submitting work on-time, reading the textbooks, and completing all course requirements. You are encouraged to study with your classmates outside of class. Programming assignments usually require a lot more time than expected, so start early and work some every day.

University Learning Center (ULC): mission is to help students become successful, independent learners. Tutoring at the ULC is NOT remediation: the ULC offers a different type of learning opportunity for those students who want to increase the quality of their education. ULC services are free to all UNCW students and include the following:


UNCW practices a zero-tolerance policy for violence and harassment of any kind.  For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-2222, or 911. 

Academic Honor Code

It is the responsibility of every student to uphold and maintain the UNCW Academic Honor Code. You violate the honor code when you represent someone else's work as your own. Programming assignments may be discussed at a conceptual level with other students but details and coding must be your own. Copying and team collaboration is prohibited.

Students with Disabilities

If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.

Course Student Learning Outcomes (SLOs)

  1. Students demonstrate an understanding of basic programming concepts including data types, variables, modularity, parameters, conditional statements, iteration, and arrays. 
  2. Students demonstrate program development techniques to describe and understand the problem statement, think through input/process/output, leading to problem representation and finally coding. 
  3. Students demonstrate the ability to use program control structures (i.e., iteration, conditionals). 
  4. Students develop and use algorithms to solve a variety of problems, for instance those related to array processing, statistical calculations, image and audio processing, and text processing. 
  5. Students practice modular programming by developing, debugging and integrating modules into a larger program. 
  6. Students demonstrate the ability to use programming language specific software libraries. 
  7. Students demonstrate the ability to use basic file input and output. 
  8. Students demonstrate the ability to use software development tools from command line compile and run commands to an integrated development environment. 

by J. A. Tompkins