CSC 131-003, 004 Introduction to Computer Science


Section 003 CI 2055: TR 11:00 am - 12:40 pm
Section 004 MC 2061: TR 03:00 pm - 04:40 pm


Jack Tompkins
E-mail: tompkinsj@uncw.edu
Office: CI 2034, Hours*: 9:00 am - 10:50 am TR
*Students are welcome to ask questions any time my door is open and may schedule appointments outside office hours.


Ganga Poudel Chapagain
E-mail: gp2407@uncw.edu
Office: CI 2004
Office Hours: TBA

Course Description

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.

General Course Information

Learn 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. 

How to Think Like a Computer Scientist - Learning with Python: Interactive Edition (primary text for reading and quizzes)

Register for Course Name: CSC131PythonFall19 using your UNCW email and use your actual first name.

A free online interactive text with the following unique features:

  • Activecode: A Javscript implementation of Python right in the book. Every example is runnable and editable.
  • Codelens: Like having a debugger in the textbook. You can step forward and backward through the code and observe the value of the variables as they change.
  • Interactive Exercises for self assessment
  • Problem solving videos to help you understand important Python programming concepts

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

A free online interactive text
Each student should create an account using your UNCW email and first name, then go to "Edit My Profile" in the user menu at top right, and set the guru to be tompkinsj. Using your UNCW email, and first name allows me to give you credit for your work and feedback on your progress.

Student Resources 

Graded Work

Academic Expectations for Students

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.


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-3184 or 962-2222, or Wilmington Police at 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 projects may be discussed at a conceptual level with other students but details and coding must be your own. Copying and team collaboration is prohibited. You will have to deal with challenging and time-consuming (but cool) projects. In many cases, you may wish to discuss these projects with others. At that point, you will find yourself walking a fine line between cooperation, which we encourage,  and cheating, which we prosecute.

Cooperation versus cheating: You can discuss the homework problem with other students. You can read together code from the lecture notes, from the course site, or from the textbook, and think together how to attack the problem. However, at some point the consultation must end, and from this point onward you are on your own. Each student should write the code or solve the problem separately, without further consultation.

The minute you start working on a computer together, you are cheating. The minute you start sharing pieces of code or solution steps, or use solutions of other people, obviously you are cheating. You are allowed to share all your work within the pair, if you are working within a pair.

What to do when you get stuck: Most students cheat because they struggle with difficult problems under time pressure. When the problem that you are working on goes nowhere, it is tempting to cut corners. What can you do instead? There are at least two alternatives. First, you can seek help from your professor or TA. Second, you can always submit any program or partial solution for grading, even if the program is not working or the solution is not perfect.

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 Depaulo Hall 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.

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
       Valid CSS!    Valid HTML 5