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

Course Syllabus - Spring 2014

CI 1012 M, F 9:00 - 9:50 am,  
CI 2006: W 9:00-10:40 am (003),  or W 11:00 - 12:40 pm (004)  
Blackboard / Schedule

INSTRUCTOR

Jack Tompkins
E-mail: tompkinsj@uncw.edu

Office Hours*: M 10:00 - 10:30 am, T, R 10:45 am - 12:15 pm, W 2:00 - 2:50 pm
*Students are welcome to ask questions any time my door is open and may schedule appointments outside office hours.
Phone: (910) 962-7013

GRADUATE TEACHING ASSISTANT
Shivani Bhardwaj, Office: CI 2055, Hours: M 11:00 -am -  1:00 pm and  2:30 - 4:30 pm,  T  11:00 am - 12:00 pm

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

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. 

REQUIRED TEXTBOOKS and MATERIALS

Think Python: How to Think Like a Computer Scientist (primary text in pdf)


A free text by Allen B. Downey

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 tompkinsj131 so I can give you credit for your homework and feedback on your progress.

STUDENT RESOURCES 

COURSE REQUIREMENTS AND GRADING CRITERIA

Your final grade will be determined based upon your performance on a midterm test, the final exam, and programming projects. The midterm exam will be weighted 1/5, the final exam 2/5, quizzes/homework 1/5, and the programming projects 1/5 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.

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:

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

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.

 


by J. A. Tompkins