I. ASCRC General Education Form (revised 3/19/14) Use to propose new general education courses (except writing courses), to change or renew existing gen ed courses and to remove designations for existing gen ed courses. Note: One-time-only general education designation may be requested for experimental courses (X91-previously X95), granted only for the semester taught. A NEW request must be submitted for the course to receive subsequent general education status. Group II. Mathematics VII: Social Sciences (submit III. Language VIII: Ethics & Human Values separate forms X III Exception: Symbolic Systems * IX: American & European if requesting IV: Expressive Arts X: Indigenous & Global more than one V: Literary & Artistic Studies XI: Natural Sciences general w/ lab w/out lab education VI: Historical & Cultural Studies group * Require a Symbolic Systems Request Form. designation) Dept/Program Computer Science Course # CSCI 135 Course Title Prerequisite Fund of Computer Science I Prereq., computer programming experience in a language such as BASIC, Pascal, C, etc.; coreq., M 095 or consent of instr. CSCI 104 highly recommended as prereq. or coreq. Credits 3 II. Endorsement/Approvals Complete the form and obtain signatures before submitting to Faculty Senate Office Please type / print name Signature Date Instructor Michael Cassens Phone / Email michael.cassens@mso.umt.edu Program Chair Douglas W. Raiford Dean Chris Comer III. Type of request New One-time Only Renew X Change Remove Reason for Gen Ed inclusion, change or deletion Symbolic Systems Renewal Description of change No changes IV. Description and purpose of the general education course: General Education courses must be introductory and foundational within the offering department or within the General Education Group. They must emphasize breadth, context, and connectedness; and relate course content to students’ future lives: See Preamble: http://umt.edu/facultysenate/archives/minutes/gened/GE_preamble.aspx An introduction to the field of Computer Science, focusing on the object-oriented programming language Java, Software Engineering principles, and fundamental knowledge about computers, as preparation for using computers to accomplish tasks, and for acquiring the more advanced knowledge required for a career in the Computer Science field. V. Criteria: Briefly explain how this course meets the criteria for the group. See: http://umt.edu/facultysenate/documents/forms/GE_Criteria5-1-08.aspx 1. rigorously present a mapping between a realworld system and a human abstraction of the system. 1) A computer program is a model of a realworld system, devised by the program developer, and expressed in the symbols and symbol manipulations of a programming language. 2. applies analysis, reasoning and creative 2) Analysis, reasoning, and creative thinking thinking in the understanding and manipulation are indispensable in devising how to use the of symbolic codes. symbol manipulations of a programming language (sequence, selection, repetition, data abstraction, and procedural abstraction) to model a real-world system. 3. utilizes alternative methods of 3) The program is the complete expression communication, perception, and expression in of the model of the real-world system. order to encourage rigorous thinking. Alternate methods of communication, perception, and expression of the program (such as a flowchart, UML diagram, or method call tree) focus on the correctness of particular aspects of the model. VI. Student Learning Goals: Briefly explain how this course will meet the applicable learning goals. See: http://umt.edu/facultysenate/documents/forms/GE_Criteria5-1-08.aspx 1. demonstrate an understanding of the symbols Upon completion of the course, students and the transformations of the system. will be able to create a new program and modify/extend an existing program 2. relay and interpret information in terms of the Upon completion of the course, students given symbolic system. will be able to create alternate representations of the program and create programs from alternate representations 3. apply creative thinking using the symbolic Upon completion of the course, students system in order to solve problems and will be able to specialize (i.e. modify and communicate ideas. extend) the symbolic system to solve new problems VII. Assessment: How are the learning goals above measured? Please list at least one assignment, activity or test question for each goal. 1.Students complete a series of projects where programs are created and/or modified 2.During projects, students are given alternate representations of the end product and required to implement a program that represents this alternate representation. In later projects, students are required to write their own alternate representation given a product specification. 3.Students are required to solve programmatic challenges by synthesizing previously learned concepts. VIII. Justification: Normally, general education courses will not carry pre-requisites, will carry at least 3 credits, and will be numbered at the 100-200 level. If the course has more than one pre-requisite, carries fewer than three credits, or is upper division (numbered above the 200 level), provide rationale for exception(s). NA (plus we are dropping the one prereq this review cycle) IX. Syllabus: Paste syllabus below or attach and send digital copy with form. The syllabus should clearly describe learning outcomes related to the above criteria and learning goals. Fundamentals of Computer Science CSCI 135 Syllabus Fall 2014 CSCI 135 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 12:00-1:00 pm or by appt Phone: 406-370-1684 E-mail: michael.cassens@mso.umt.edu Skype: michaelcassens Google: michaelcassens@gmail.com URL: http://umonline.umt.edu/ Overview: This class is designed to give you a good general understanding of software development and logical reasoning. This course focuses on introducing general programming and object oriented programming concepts using the Java programming language. This course will introduce all of these concepts as well as provide a number of hands on opportunities to become proficient in using these tools. General Computing Concepts Object Oriented Concepts Logical Reasoning and Critical Thinking Java Programming Constructs Upon completing this course, a student will be able to: Understand the basic components of a computer and how it works Declare and understand the difference between primitives and object data types Create UML diagrams based on requirement descriptions Instantiate and use classes from the built-in Java library as well as custom classes Create graphical programs using appropriate layout managers and event handlers Implement appropriate looping and control structures to solve problems Implement and understand method overloading and method overriding Create test cases for programs written Read from files, iterate through the file and manipulate the data within the file Attendance: Attendance is mandatory however I realize there are times when you must be absent. Please give me advance notice of any absences, and I will provide you with the same courtesy. Class consists of Monday/Wednesday 9 am – 10 am in Forestry 106. The lab is from 9-11 am on Friday in LA 206 (you can also attend the 136 from 10-12 on Thursday in LA 206) Grading: Homework 35% Labs 20% 2 Exams 15% for each test Final Exam 15% Final: Thursday Dec 10th, 2014 8-10 am All Assignments will be submitted through Moodle assignments. If you have trouble with your submission, please send them to michael.cassens@mso.umt.edu Your subject must be CSCI 135 Assignment # (e.g CSCI 135 Assignment 1) If you have multiple files, please zip all your files and label your file: “CSCI135LastNameAssignment1.zip” Grading Scale 100-90 A, A89-80 B+, B, B- 79-70 C+, C, C69-60 D+, D, D- 59-and beyond F P/NP – pass/no pass, 70 or greater is passing determined by Computer Science Department policy, which is a C or better. Late Assignments: Late assignments will not be accepted. Sorry for the inconvenience. Requirements Required Texts: Java Software Solutions 8th edition – Lewis and Loftus Pre-requisites for this course: CSCI 100 Required Software: Java JDK http://www.oracle.com/technetwork/java/javase/download s/jdk8-downloads-2133151.html Eclipse http://www.eclipse.org/downloads/packages/eclipse-idejava-developers/lunar Suggestions: It would be beneficial to read and ask as many questions as you can. Feel free to set up an appointment if you need help. I am here to help you understand and do well. Collaboration: I encourage you all to work together through problems, but copying and plagiarism will not be tolerated. If you are caught cheating, I will give you an F for the course. Please refer to the Student Conduct Code in how this will be dealt with: http://life.umt.edu/VPSA/student_conduct.php Incompletes: “Incomplete for the course is not an option to be exercised at the discretion of students. In all cases it is given at the discretion of the instructor….” Some guidelines for receiving an incomplete are listed in the catalog which include having a passing grade up to three weeks before the end of the semester and being in attendance. “Negligence and indifference are not acceptable reasons.” Also note that there may be financial aid implications. Late Drops: The University’s policy on drops after 45 days of instruction is very specific. The Computer Science Department follows this policy rigorously. There are five circumstances under which a late drop might be approved: registration errors, accident or illness, family emergency, change in work schedule, no assessment of performance in class after this deadline. Except in very unusual circumstances, I will only approve late drops if there is documented justification for one of these circumstances. Disabilities: This course is accessible to and usable by otherwise qualified students with disabilities. To request reasonable program modifications, please consult with the instructor. Disability Services for Students will assist the instructor and student in the modification process. For more information, visit the Disability Services website at http://life.umt.edu/dss/. Class Etiquette: Be respectful of your fellow classmates. Call me anytime if you have a question. Profanity and Obscenity will not be tolerated in class or assignments. Special Dates: Aug 25, 2014 Classes Begin Sept 1, 2014 Labor Day – No Class Sept 15th-18th, 2014 online and will try and find a sub for labs Nov 4th, 2014 – Election Day – No Class Nov 11th, 2014 - Veteran’s Day – No Class Nov 24-25th – Class online Nov 26th – Nov 28th - Thanksgiving Dec 8th-12th, 2014 Finals Final: Dec 10th, 2014 8-10 am Tentative Schedule: Syllabus Review and Overview of the course Week 1 Chapter 1 Introduction of Computing Concepts Week 2 Chapter 1 Introduction Cont. – Logical Reasoning Week 3 Chapter 2 Data and Expressions Week 4 Chapter 2 Data and Expressions cont. Week 5 Chapter 3 Using Classes and Objects Week 6 Exam 1 Week 7 Chapters 1, 2, 3 Graphics Week 8 Chapter 4 Writing Classes Week 9 Chapter 4 Writing Classes cont. Week Week Week Week Week Week Week 10 11 12 13 14 15 16 Chapter 5 Conditionals and Loops Chapter 6 More Conditionals and Loops Exam 2 Chapter 7 Object Oriented Design Chapter 7 Object Oriented Design cont. Chapter 8, Review Final - Wednesday Dec 10th, 2014 8-10 am Please note: Approved general education changes will take effect next fall. General education instructors will be expected to provide sample assessment items and corresponding responses to the Assessment Advisory Committee.