Course Discipline and s8
Total Page:16
File Type:pdf, Size:1020Kb
GAVILAN COLLEGE CURRICULUM DEVELOPMENT
FORM C Modify or Inactivate an Existing Course Date: 2/3/13 Prepared & Submitted by: Ellen Venable Department: Business Course ID: CSIS 42 Course Title: Python Programming
Obtain signatures from your Department Chair and Area Dean prior to submitting to the curriculum committee. ______Date Print Name Department Chair ______Date Print Name Area Dean
CURRICULUM & INSTRUCTIONAL ADMINISTRATION: The course(s) has/have been approved by the curriculum committee and instructional administration, and satisfy all applicable requirements of the California Code of Regulations, Title 5.
______Date Print Name Signature, Curriculum Chair ______Date Print Name Signature, VP of Instruction
DISTRICT: On ______(date), the governing board of the Gavilan College District approved the course proposal(s) attached to this request. ______Date Print Name President
1. What is the effective term? Fall Spring Summer Year: 2014-15
2. Inactivate Course(s): Inactivating a course will remove it from the course catalog. Courses may be re-activated by updating the course and bringing it back to the Curriculum Committee for approval. Transferable courses will need to be re-articulated, should you decide to reactivate the course. Reason for inactivation:
3. Modification of the following:
Number Hours Prerequisite/Advisory Discipline Title Units Description Content Grading GE Applicability Repeatability Transferability General Update Reinstate Course Cross list course with Update Textbook Cultural Diversity Other (please describe.) Reason for modification:
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 1 Updating for articulation purposes. Align with C-ID descriptor for COMP 112 - Introduction to Programming Concepts and Methodologies.
COURSE OUTLINE
Course ID: CSIS 42 Units: 4 Lecture hours per week: 4 Lab hours per week: 0 (Discipline and Number) Course Title: Python Programming (Maximum of 60 spaces) Abbreviated Title: PYTHON PROGRAMMING (Maximum of 30 spaces)
Change: From: CSIS 42 Python Programming 4 3 3 Discipline & Course Title Units Lecture Lab Number Number Hours per Hours per of weeks week week To: CSIS 42 Python Programming 4 4 0 Discipline & Number Course Title Units Lecture Lab Number Hours per Hours per of weeks week week Course Description: No Change Change Introduction to computing using Python. Study and create programs that perform various tasks, including text and file manipulation, internet scripting, data structures, testing, and practical problem solving with examples. Covers object-oriented programming and the Python Standard Library. Introduces students to the fundamental concepts of programming. This course has the option of a letter grade or pass/no pass.
Has the course content been compared to the equivalent C-ID descriptor? Yes No n/a See Articulation Officer for assistance with C-ID descriptors.
Course Requisites: List all prerequisites separated by AND/OR, as needed. Also fill out and submit the Prerequisite/Advisory form.
No Change Change
Replaces existing Advisory/Prerequisite In addition to existing Advisory/Prerequisite Prerequisite: Co-requisite: Advisory: None.
Grading System: No Change Change Standard Letter Grade Option of a standard letter grade or pass/no pass Pass/no pass only Non Credit
Repeatable for Credit: (Note: Course Outline must include additional skills that will be acquired by repeating this course.) No Change Change
Credit Course Yes No If yes, how many times? 1 2 3 Non Credit Course Yes No If yes, how many times? 1 2 3 Unlimited (DRC or Noncredit only) 04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 2 Reason for Repeating: Intercollegiate Athletics Legally Mandated Occupational Work Experience Significant change in industry standard - necessary for employment Special class for students with disabilities Non Credit
Distance Education: Hybrid (If checked, fill out Form D.) Online (If checked, fill out Form D.) No
Stand Alone Course: No Change Change Yes - Course is NOT included in a degree or certificate program No - Course IS included in a degree or certificate program
Methods of Instruction: No Change Change Lectures, Computer Demonstrations, Case Studies
Recommended/Required Textbook/s: The following information must be provided: Author, Title, Publisher, Year of Publication, Reading level and Reading level verification. Textbook must not be more than 5 years old.
Required: Recommended: n/a Author: Perkovic, Ljubomir Title: Introduction to Computing Using Python Publisher: John Wiley & Sons, Inc. Year of Publication: 2012, or other appropriate college level text. ISBN: 978-0-470-61846-2 (if available) Reading level of text, Grade: 12Verified by: MS Word Other textbooks or materials to be purchased by the student:
Cultural Diversity: Does this course meet the cultural diversity requirement? Yes No n/a If 'Yes', please indicate which criteria apply. At least two criteria must be selected and evidenced in the course content section and at least one Student Learning Outcome must apply to cultural diversity.
This course promotes understanding of: Cultures and subcultures Cultural awareness Cultural inclusiveness Mutual respect among diverse peoples Familiarity with cultural developments and their complexities Student Learning Outcome Number(s)
Program Learning Outcomes: Is this course part of a program (degree or certificate)? If yes, copy and paste the appropriate Program Learning Outcomes and number them. Enter the PLOs by number in the Student Learning Outcomes below. 1. Student will create programs in three different languages that use control flow statements such as if and switch statements. 2. Student will create programs in three different languages that use loop statements such as for and while statements.
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 3 Student Learning Outcomes: 1. Complete this section in a manner that demonstrates student’s use of critical thinking and reasoning skills. These include the ability to formulate and analyze problems and to employ rational processes to achieve increased understanding. Reference Bloom's Taxonomy of action verbs. 2. List the Type of Measures that will be used to measure the student learning outcomes, such as written exam, oral exam, oral report, role playing, project, performance, demonstration, etc. 3. Identify which Program Learning Outcomes (PLO) are aligned with this course. List them by number in order of emphasis. 4. Identify which Institutional Learning Outcomes (ILO) are aligned with this course. List them, by number in order of emphasis. For example: "2, 1" would indicate Cognition and Communication. (1) Communication, (2) Cognition, (3) Information Competency, (4) Social Interaction, (5) Aesthetic Responsiveness, (6) Personal Development & Responsibility, (7) Content Specific. 5. For GE courses, enter the GE Learning Outcomes for this course. For example "A1, A2". GE Learning Outcomes are listed below. 6. Indicate when the course was last assessed.
Indicate by number which Program Learning Outcomes, Institutional Learning Outcomes and GE Learning Outcomes are supported by each of the Student Learning Outcomes.
1. Describe the software development life-cycle. Measure: discussion, PLO: ILO: 2,1,3,7 GE-LO: A3, A6 Year assessed or quiz anticipated year of assessment: 2014-15 2. Describe the principles of structured programming and be able to describe, design, implement, and test structured programs using currently accepted methodology. Measure: homework, PLO: ILO: 7,2,3 GE-LO: Year assessed or quiz, case study, anticipated year of problem set assessment: 2014-15 3. Explain what an algorithm is and its importance in computer programming. Measure: discussion, PLO: ILO: 7,3,2,1 GE-LO: A3, A6 Year assessed or quiz, homework anticipated year of assessment: 2014-15 4. Recognize and construct common programming idioms: variables, loop, branch, subroutine, and input/output. Measure: quiz, case PLO: 2 ILO: 2,7,3 GE-LO: Year assessed or study, project, problem anticipated year of set, homework assessment: 2014-15 5. Define and demonstrate the use of the built-in data structures 'list' and 'dictionary'. Measure: quiz, case PLO: 1,2 ILO: 2,7,3 GE-LO: Year assessed or study, project, problem anticipated year of set, homework assessment: 2014-15 6. Apply idioms to common problems such as text manipulation, web page building, and working with large sets of numbers. Measure: case study, PLO: 1,2 ILO: 2,7,3 GE-LO: Year assessed or project, homework, anticipated year of problem set assessment: 2014-15 7. Design and implement a program to solve a real-world problem using the language idioms, data structures,, and standard library. Measure: project PLO: 1,2 ILO: 2,7,3 GE-LO: B7 Year assessed or anticipated year of assessment: 2014-15 8. Measure: PLO: ILO: GE-LO: Year assessed or anticipated year of assessment: 9. Measure: PLO: ILO: GE-LO: Year assessed or 04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 4 anticipated year of assessment: 10. Measure: PLO: ILO: GE-LO: Year assessed or anticipated year of assessment:
General Education Learning Outcomes
AREA A Communications in the English Language After completing courses in Area A, students will be able to do the following: A1. Receive, analyze, and effectively respond to verbal communication. A2. Formulate, organize and logically present verbal information. A3. Write clear and effective prose using forms, methods, modes and conventions of English grammar that best achieve the writing’s purpose. A4. Advocate effectively for a position using persuasive strategies, argumentative support, and logical reasoning. A5. Employ the methods of research to find information, analyze its content, and appropriately incorporate it into written work. A6. Read college course texts and summarize the information presented. A7. Analyze the ideas presented in college course materials and be able to discuss them or present them in writing. A8. Communicate conclusions based on sound inferences drawn from unambiguous statements of knowledge and belief. A9. Explain and apply elementary inductive and deductive processes, describe formal and informal fallacies of language and thought, and compare effectively matters of fact and issues of judgment and opinion.
AREA B Physical Universe and its Life Forms After completing courses in Area B, students will be able to do the following: B1. Explain concepts and theories related to physical and biological phenomena. B2. Identify structures of selected living organisms and relate structure to biological function. B3. Recognize and utilize appropriate mathematical techniques to solve both abstract and practical problems. B4. Utilize safe and effectives laboratory techniques to investigate scientific problems. B5. Discuss the use and limitations of the scientific process in the solution of problems. B6. Make critical judgments about the validity of scientific evidence and the applicability of scientific theories. B7. Utilize appropriate technology for scientific and mathematical investigations and recognize the advantages and disadvantages of that technology. B8. Work collaboratively with others on labs, projects, and presentations. B9. Describe the influence of scientific knowledge on the development of world’s civilizations as recorded in the past as well as in present times.
AREA C Arts, Foreign Language, Literature and Philosophy After completing courses in Area C, students will be able to do the following: C1. Demonstrate knowledge of the language and content of one or more artistic forms: visual arts, music, theater, film/television, writing, digital arts. C2. Analyze an artistic work on both its emotional and intellectual levels. C3. Demonstrate awareness of the thinking, practices and unique perspectives offered by a culture or cultures other than one’s own. C4. Recognize the universality of the human experience in its various manifestations across cultures. C5. Express objective and subjective responses to experiences and describe the integrity of emotional and intellectual response. C6. Analyze and explain the interrelationship between self, the creative arts, and the humanities, and be exposed to both non-Western and Western cultures. C7. Contextually describe the contributions and perspectives of women and of ethnic and other minorities.
AREA D Social, Political, and Economic Institutions After completing courses in Area D, students will be able to do the following: D1. Identify and analyze key concepts and theories about human and/or societal development. D2. Critique generalizations and popular opinion about human behavior and society, distinguishing opinion and values from scientific observation and study. D3. Demonstrate an understanding of the use of research and scientific methodologies in the study of human behavior and societal change.
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 5 D4. Analyze different cultures and their influence on human development or society, including how issues relate to race, class and gender. D5. Describe and analyze cultural and social organizations, including similarities and differences between various societies.
AREA E Lifelong Understanding and Self-Development After completing courses in Area E, students will be able to do the following: E1. Demonstrate an awareness of the importance of personal development. E2. Examine the integration of one’s self as a psychological, social, and physiological being. E3. Analyze human behavior, perception, and physiology and their interrelationships including sexuality, nutrition, health, stress, the social and physical environment, and the implications of death and dying.
AREA F Cultural Diversity After completing courses in Area F, students will be able to do the following: F1. Connect knowledge of self and society to larger cultural contexts. F2. Articulate the differences and similarities between and within cultures. Content, Student Performance Objectives and Out of Class Assignments No Change Change Copy and paste the existing content from the official course outline of record. Edit the content as needed.
(8 Hours) Lectures: Introduction to: Computer Science, Computer Systems, Phython Programming Language, and Computational Thinking. Python Data Types: Expressions, Variables, and Assignments; Strings; Lists; Objects and Classes; and Python Standard Library. Quiz and problem set. Student Performance Objectives: Discuss the different components of a computer system including the hardware, the operating system, the network and the Internet, and the programming language used to write programs. Identify the Python programming language. Define the concept of a data type and that of an object that stores a value of a given type. Use the Python IDE interactive shell as a calculator to evaluate Python expressions, starting with simple algebraic expressions, and execute single Python statements. Utilize the turtle graphics module to visually illustrate the concepts: objects, types, and names; data abstraction and classes; and information hiding. Out of Class Assignments: Read Introductory chapter. Read chapter on Python Data Types. HW: Explore Python.org website and the resources and documentation therein. Download a Python IDE on your computer, choose the appropriate installer for your system, and complete the installation.
(10 Hours) Lectures: Imperative Programming: Python Programs, Execution Control Structures, User- Defined Functions, Phython Variables and Assignments, and Parameter Passing. Text Data, Files, and Exceptions: Strings, Revisted; Formatted Output; Files; and Errors and Exceptions. Student Performance Objectives: Discuss how to develop Python programs. Discuss a few decision and iteration control flow structures that control whether and how many times particular statements are executed. Explain the benefits of functions. Explain the process of breaking down problems into steps that can be described computationally using Python statements. Utilize turtle graphics to illustrate code reuse, information hiding, and functional abstraction. Discuss the extensive set of string methods that give Python powerful text-processing capabilities. Describe how to read from and write to files from within a Python program. Define several patterns for reading files that prepare the file content for processing. List the common errors that can occur when working with data coming interactively from the user or from a file. Utilize the case study to showcase the text-processing and I/O concepts in the context of an application that logs accesses to files. Out of Class Assignments: Read chapter on Imperative Programming. Read chapter on Text Data, Files, and Exceptions. HW: Write simple interactive programs that use built-in functions 'print ( )', 'input ( )', and 'eval ( )'. Create programs that execute differently depending on the input entered by the user. Format output using features of the 'print ( )' function and the string 'format ( )' method.
(10 Hours) Lectures: Execution Control Structures: Decision Control and the 'if' Statement, 'for' Loop and Iteration Patterns, More on Lists: Two-Dimensional Lists, 'while' Loop, More Loop Patterns, and
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 6 Additional Iteration Control Statements. Containers and Randomness: Dictionaries, Other Built-In Container Types, Character Encoding and Strings, and Module 'random'. Quiz and problem set. Student Performance Objectives: Define the 'if' statement. Explain the purpose of the 'for' loop and the 'while' loop. Discuss the different iteration patterns and describe when and how they are used. Identify the Python statements and techniques that provide control over what code blocks will be executed when, and how often. Name the other built-in container classes available in Python and describe their uses. Explain when and how to use the 'tuple´and 'set' built-in container classes. Review strings and analyze them as containers of characters. Describe encoding and decoding characters from different writing systems, including the use of Unicode. Discuss how to generate "random" numbers. Out of Class Assignments: Read chapter on Execution Control Structures. Read chapter on Containers and Randomness. HW: Programming problems utilizing the concepts covered in lecture.
(10 Hours) Lectures: Namespaces: Encapsulation in Functions, Global versus Local Namespaces, Exceptional Control Flow, Modules as Namespaces, and Classes as Namespaces. Object-Oriented Programming: Defining a New Python Class, Examples of User-Defined Classes, Designing New Container Classes, Overloaded Operations, Inheritance, and User-Defined Exceptions. Midterm exam and problem set. Student Performance Objectives: Explain the purpose of namespaces. Discuss the concepts and techniques that deal with program design. Review the main benefits of functions. Describe how to develop new Python classes. Explain the benefits of the object-oriented programming (OOP) paradigm and discuss core OOP concepts. Utilize the case study to learn how to make a container class feel more like a built-in class. Use the case study to enable indexing of items in the container and enabling iteration, using a 'for loop', over the items in the container. Out of Class Assignments: Read chapter on Namespaces. Read chapter on Object-Oriented Programming. HW: Programming problems utilizing the concepts covered in lecture.
(12 Hours) Lectures: Graphical User Interfaces: Basics of 'tkinter' GUI Development, Event-Based 'tkinter' Widgets, Designing GUIs, and OOP for GUIs. Quiz and problem set. Student Performance Objectives: List the reasons for using a GUI. Discuss the GUI API for Python - 'tkinter'. Illustrate how to facilitate the geometry specification of more complex GUIs by organizing the widgets in a hierarchical fashion. Describe how to define the handlers that are executed in response to user-generated events such as mouse button clicks, mouse motion, or keyboard key presses. Use the context of GUI development to showcase the benefits of OOP. Describe how to develop GUI applications as new widget classes that can be easily incorporated into larger GUIs. Apply OOP concepts such as class inheritance, modularity, abstration, and encapsulation. Utilize the case study to implement a basic calculator GUI. Use OOP techniques to implement it as a user-defined widget class, from scatch. Explain how to write a single event-handling function that handles many different buttons. Out of Class Assignments: Read chapter on Graphical User Interfaces. HW: Implement function 'cal ( )' that takes as input a year and a month (a number between 1 and 12) and starts up a GUI that shows the corresponding calendar.
(10 Hours) Lectures: Recursion: Introduction and Examples, Run Time Analysis, and Searching. Quiz. Project proposal - describe the program you will design, implement and test, using Python, to solve a real-world problem. Student Performance Objectives: Discuss when recursion should and should not be used. Analyze several fundamental search tasks. Describe how namespaces and the program stack support the execution of recursive functions. Develop recursive functions for a variety of problems, such as the visual display of fractals and the search for viruses in the files of a filesystem. Apply recursion to solve the Tower of Hanoi problem and develop a graphical tool, using OOP techniques and the 'turtle' graphics module, to visualize the solution. Out of Class Assignments: Read chapter on Recursion. HW: Programming problems using recursion.
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 7 (10 Hours) Lectures: The Web and Search: The World Wide Web, Python WWW API, and String Pattern Matching. Student Performance Objectives: Describe the three core WWW technologies, the Python Standard Library web APIs, and the algorithms that can be used to develop such applications. Apply the Python Standard Library APIs to download a web page HTML source file and parse it to obtain the web page content. Practice using the tools that recognize string patterns in texts: regular expressions and the Standard Library module 're'. Utilize the case study to develop a web crawler; which will access, search, and collect data hosted on the World Wide Web. Out of Class Assignments: Read chapter on The Web and Search. HW: Do related programming problems.
(2 Hours) Written Final Exam.
The content should include: 1. Hours it will take to cover each topic - Hours are based on an 18 week term, even though the instruction is compressed into a 16 week calendar. For example, a 3 unit course should have 54 hours (3 hours per week times 18 weeks = 54 Total Contact Hours). 2 hours should be set aside for the final. 2. Topic 3. Student Performance Objectives 4. Out of Class Assignments - Out of Class Assignments: essays, library research, problems, projects required outside of class on a 2 to 1 basis for Lecture units granted. Include specific examples of reading and writing assignments.
METHODS OF EVALUATION: No Change Change Category 1 - The types of writing assignments required: Percent range of total grade: 20 % to 30 % Written Homework Reading Reports Lab Reports Essay Exams Term or Other Papers Other: Project If this is a degree applicable course, but substantial writing assignments are not appropriate, indicate reason: Course is primarily computational Course primarily involves skill demonstration or problem solving Category 2 -The problem-solving assignments required: Percent range of total grade: 30 % to 60 % Homework Problems Field Work Lab Reports Quizzes Exams Other: Case Studies Category 3 -The types of skill demonstrations required: Percent range of total grade: 10 % to 20 % Class Performance/s Field Work Performance Exams Category 4 - The types of objective examinations used in the course: Percent range of total grade: 10 % to 30 % 04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 8 Multiple Choice True/False Matching Items Completion Other: Category 5 - Any other methods of evaluation: Percent range of total grade: % to %
04c7c51491ea0ddba8e7fceac471e249.doc Revised: 2/4/2014 Page 9