UNCW Home UNCW HomeBreaking News! Click here for details.
 CSC 112 - Introduction to Computer Programming
                  Python

Course Syllabus - Spring 2014

Online   Blackboard 

INSTRUCTOR

Jack Tompkins
E-mail: tompkinsj@uncw.edu

Office Hours*: Online course, primarily use email
*Students are welcome to ask questions any time my door is open and may schedule appointments outside office hours.
Phone: (910) 962-7013

COURSE DESCRIPTION

CSC 112. Introduction to Computer Programming (3) Prerequisite: MAT 111 or 115. An introduction to programming in a high-level language for students who are not computer science majors. Algorithms, computer systems, data representation, survey of computer applications, elementary programming techniques, debugging and verification of programs. The language to be used will be specified in the schedule of classes. May be repeated once for credit under a different subtitle.

GENERAL COURSE INFORMATION

This section of CSC 112 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. 

REQUIRED TEXTBOOKS and MATERIALS

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

python

Register for CSC112800 using your UNCW email and use your actual first name: http://interactivepython.org/runestone/static/CSC112800/index.html 

A free online interactive text with the following unique features:

  • Activecode: A Javscript implementation of Python right in the book. Every example is runable 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 (supplemental text)

University of Waterloo A free online interactive text
http://cscircles.cemc.uwaterloo.ca/using-this-website/
Each student should create an account, then go to "Edit My Profile" in the user menu at top right, and set the guru to be tompkinsj, use your UNCW email, and real first name so I can give you credit for your work and feedback on your progress.

STUDENT RESOURCES 

COURSE REQUIREMENTS AND GRADING CRITERIA

Your final grade will be determined based upon your performance on participation in our online interactive texts, quizzes, the final exam (Friday, May 2-5th, 3 consecutive hours ), and programming projects. The final exam, quizzes, interactive text homework, and the programming labs/projects each count 25% of the final 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.

Policies

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 (see your Student Handbook). 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 develop understanding of basic computer programming concepts including problem representation, algorithm development, and program implementation.
  2. Students develop problem-solving techniques to describe and understand problems, think through what is known (input), what is unknown (desired output) and what must be done to transform input into desired output (process), leading to geometric problem representation and finally coding.
  3. Students learn computer program elements to enable sequences, selections, iterations and modularizations of operations.
  4. Students learn how to use and manipulate lists of objects.
  5. Students learn to implement algorithms to solve a variety of problems including processing lists, statistical calculations, and modeling systems of interacting objects.
  6. Students learn modular programming and incremental program development.
  7. Students learn how to access data in external files.

Mapping SLOs to Course Requirements and Measurement Instruments

Evidence to indicate progress toward the course SLOs is accumulated by various performance measures including programming assignments and tests. The association between the SLOs and the measures is indicated in the following table:

 

 

Measure

SLO

Quizzes 1 & 2

Quizzes 3 & 4

Final Exam

Programs

1. a. Problem representation

X

X

X

P1

1. b. Algorithm development

X

X

X

P1

1. c. Program implementation

X

X

X

P1

2. Problem-solving skills

X

X

X

P1

3. a. Sequences


X

X

P2

3. b. Selections


X

X

P2

3. c. Iterations


X

X

P2

3. d. Modules

X

X

X

P2

4. Lists


X

X

P2

5. a. Algorithms for Lists


X

X

P2

5. b. Statistics


X

X


5. c. Interacting objects

X

 

X


6. a. Modular programming

X

 

X


6. b. Incremental program development

X

 X

X

P2

7. Accessing data 

 

 X

X

P2

 


by J. A. Tompkins