Hawaii Pacific University

advertisement
CSCI 2611
1
Hawaii Pacific University
CSCI 2611 A Gentle Introduction to Computer Programming Section ____
Semester and year, meeting times
Instructor: Name, contact information and other relevant information about the instructor.
Course description: A gentle introduction to computer programming using a fun, popular, and powerful
programming language such as Ruby or Python. Designed to teach computer programming to nonprogrammers, this course is also valuable to programmers. Students learn fundamental and universal
programming concepts, as well as problem-solving and critical-thinking skills valuable for other courses
and in life. Extensive programming assignments. Topics include: variables and assignment, basic data
types, strings, arrays, conditional and iterative control structures, control flow, modularization, objects,
methods, parameters, testing, and debugging. Mastery of Ruby or Python also provides a foundation for
learning Web programming frameworks Rails or Django.
Course prerequisite: Math 1105 or higher or an appropriate test score. CSCI 1011 or CSCI 1041 or
instructor permission.
General Education Requirement: This course is classified under the Research and Epistemology B
Theme and fulfills the General Education Requirement for a course in Research and Epistemology B:
Numeracy and Quantitative Reasoning.
General Education Student Learning Outcomes and the Five Themes: HPU’s general education
curriculum is focused around five themes. This course emphasizes the Research and Epistemology
Theme and provides students with opportunities to achieve the following related general education
student learning outcomes.

Students will seek and achieve understanding of numerical data. [R&E 5] Students will
calculate mean, median, mode and perhaps standard deviation of a group of numbers and
consider what they tell about the data.

Students will recognize the multiple interpretations numerical data permit and ways that
they can be manipulated. [R&E 6] Students will explain why answers to their problems are
significantly different and reflect on how numerical calculations are affected by precision
and method of representation and data types.

Students will utilize methods and technologies appropriate to the discipline to solve
problems. [R&E 7]

Students will understand the concept of epistemology, i.e., that there are various systems
of gathering/organizing/analyzing/evaluating in the process of constructing knowledge as
well as multiple ways to solve a given problem. [R&E 1] The programmer (student) must
carefully construct programs, walk through their execution ‘on paper’, and test the
CSCI 2611
2
program to increase the quality of result and the confidence that the results are accurate
and meaningful.
Note: Purple text shows places where specific course information must be filled in. Red text contains
explanatory notes to the instructor which should be deleted before using the syllabus. Blue explanations
above should be rephrased by the individual instructor to reflect the specific approach in that section of
the course. Course specific outcomes below are provided as an example and may also be rephrased or
modified by the instructor. The language specific outcomes are dependent on which language is used.
Course-Specific Student Learning Outcomes for CSCI 2611
Upon successful completion of the course, a student will be able to:
I. Outcomes Specific to Ruby





Write and execute basic computer programs using Ruby.
Describe in general terms the process used to install Ruby on a Windows (PC), OS X (Mac), or Linux computer.
Open a command-line interface window on a Windows (PC), OS X (Mac), or Linux computer, and use basic
command-line interface commands, such as those required to change directory, list the contents of a
directory, check the version of Ruby, and run Ruby programs.
Use a text editor to create, edit, and save Ruby programs.
Describe how to ask questions about Ruby and get help online, for example through user groups.
II. Outcomes Related to Programming in General


The following outcomes are taken from the report Computer Science Curriculum 2008, written by the leading
professional computer science associations:
o Association for Computing Machinery (ACM), and
o IEEE Computer Society
This report can be seen here: http://www.acm.org/education/curricula/IT2008%20Curriculum.pdf/view
Programming Fundamentals: Fundamental Constructs [core]







Explain the behavior of simple programs involving fundamental programming constructs covered by this unit.
Modify and expand short programs that use standard conditional and iterative control structures and
functions.
Design, implement, test, and debug a program that uses each of the following fundamental programming
constructs: basic computation, simple output, standard conditional and iterative structures, and the definition
of functions.
Choose appropriate conditional and iteration constructs for a given programming task.
Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.
Describe the mechanics of parameter (argument) passing.
Programming Fundamentals: Algorithmic Problem Solving [core]



Discuss the importance of algorithms in the problem-solving process.
Create algorithms for solving simple problems.
Use pseudocode or a programming language to implement, test, and debug algorithms for solving simple
CSCI 2611


3
problems.
Describe strategies that are useful in debugging.
Programming Fundamentals: Data Structures [core]


Discuss the use of primitive data types and built-in data structures.
Write programs that use each of the following data structures: arrays, strings.
Algorithms and Complexity: Fundamental Algorithms [core]



Design and implement simple numerical algorithms.
Design and implement a sequential search algorithm.
Design and implement a quadratic sorting algorithm (e.g., selection sort)
For the rest of these required syllabus items see the details in the faculty handbook. Delete this note
once the syllabus is complete. For online courses there are some additional requirements given at this
link.
Texts List textbooks with ISBN’s and include this language as well
All textbook information (pricing, ISBN #, and e-books) for this course can be found on the HPU
Bookstore website: hpu.edu/bookstore.
If you have any questions regarding textbooks, please contact the HPU Bookstore at:
Phone:
808-544-9347
Or e-mail:
jyokota@hpu.edu
mmiyahira@hpu.edu
Assignments and mode of evaluation
Summary of important dates and deadlines (if the schedule is a separate document and due dates are
not given with the description of the assignments).
Class rules and policies (including regarding attendance, late work and academic dishonesty)
Schedule of events (may be attached separately)
Download