Bunker Hill Community College Computer Technology Department CIT125 Python Programming Course Packet Professor <Jefferson Fernandes> Email Address: <jtfernan@bhcc.mass.edu> 1 COMMONWEALTH OF MASSACHUSETTS BUNKER HILL COMMUNITY COLLEGE CHARLESTOWN, MASSACHUSETTS COMPUTER INFORMATION TECHNOLOGY DEPARTMENT CIT125 Python Programming COURSE OUTLINE & REQUIREMENTS COURSE DESCRIPTION: This is an introductory course designed for any student interested in learning computer programming concepts and hands on computational thinking, all in the context of the Python programming language. No prior experience in programming is necessary. Students will use their own problem solving abilities to implement programs in Python. This course will show the student how to create basic programming structures including decisions and loops. Further, students will explore unique Python data structures such as tuples and dictionaries. Students will also learn to perform basic debugging techniques. At the end of this course, the student will have learned enough concepts in computer science and programming to be able to write Python programs to solve problems on their own. This course will prepare the student to move on to the Advanced Python Programming course. Pre-requisite: Applications and Concepts (CIT110) or IT Problem Solving (CIT113) or Intro to Computer Science and Object Oriented Programming (CIT 120) or Maya Foundations (CMT121) or permission of the Department Chair. For addition information and/or a course syllabus contact CITDepartment@bhcc.mass.edu. All prerequisites must be completed with a C or better. Prerequisite: Pre-requisite: Applications and Concepts (CIT110) or IT Problem Solving (CIT113) or Intro to Computer Science and Object Oriented Programming (CIT 120) or Maya Foundations (CMT121) or permission of the Department Chair. For addition information and/or a course syllabus contact CITDepartment@bhcc.mass.edu. All prerequisites must be completed with a C or better. COURSE OBJECTIVES: The objectives of this course are: To make each student more competent in virtualization To familiarize each student with GNU/Linux (Linux) or Microsoft Operating System To make each student more competent in research and learn/use of various technologies To make each student more competent in technical knowledge of key programming skills. To familiarize each student with Linux or MS DOS commands To familiarize each student with perform a clean installation of the OS Demonstrate how to use Establish proficiency in Demonstrate Python scripting components Demonstrate how to use Demonstrate how to use Demonstrate how to write Canopy (or other IDE) for the Python programming language fundamentals of writing Python scripts such as variables and flow control structures iteration control structures such as For, and While loops conditional control structures such if and elif statements iterative and recursive programs 2 Demonstrate how to work with Write Python functions that will facilitate Teach robust code techniques such as Use Python to Explore Python's OO features with Explore Python’s usage as it relates to Provide a solid foundation in programming Provide the student with an lists and sequence data code reuse errors handling and process exceptions properly read and write external files emphasis on properties and methods Game Design applications that will easily adapt to other programming languages in-demand workplace skill 3 INSTRUCTOR: The instructor for this course is: E.Mail Address: Desk Location: Telephone: Professor <Jefferson Fernandes> <jtfernan@bhcc.mass.edu> <D123F> <617.228.3228> Any content or schedule may change at any time at the discretion of the instructor. REQUIRED COURSE MATERIAL: The following is required of all students enrolled in this course: Bring Your Own Device (BYOD): Note: BYOD is required only if you are not planning to use the institution’s resources (Computer Labs) 1. Modern-day computer; Laptop, Desktop or Tower a. Modern-day computer must have at least i. 2 Cores, Hyper Threading, 2GHz+ ii. 3G Ram Free iii. 50G Hard Disk Drive Free iv. VTx; Processor must support virtualization v. wNIC; Wireless Network Adaptor b. Host Operating Systems i. MAC OSX or MS Windows or Linux c. Guest (Virtual Machine) i. Microsoft Windows or Linux d. Virtualization technology i. Oracle VirtualBox (Preferred) ii. VMware; Player, Fusion or Workstation 2. An Earphone Headset, Speakers, Ear Buds or other Private Listening Device For Course Multi-Media Podcasts, Demonstration Documents and YouTube Videos. 3. On-line storage, either a. MS OneDrive b. Google Drive c. DropBox d. These are some options you can use to save your work for your future reference 4. Web Browser, either (implies an internet connection) a. Google Chrome b. Firefox 5. OFFICE 2010 Professional, Office Libre, or Open Office to save captured images to PDF ***************************************************************************************************** THERE IS NO BOOK ASSIGNED TO THIS COURSE FOR THESE SECTIONS: CIT-125-01HB WE WILL USE ENTHOUGHT’S ONLINE CONTENT WHICH YOU WILL HAVE TO CREATE AN ACADEMIC ACCOUNT “CREATE ACCOUNT” ON THEIR TRAINING SITE. THIS COURSE IS PAPERLESS ***************************************************************************************************** 4 STUDENT REQUIREMENTS: To complete this course, receive a final grade and full credit each student must: 1. 2. 3. 4. Read all Power Point material Watch all assigned videos Study and practice with all given samples Complete all assignments, tasks, projects and quizzes STUDENT EVALUATION: Letter grade will be awarded at the completion of the course according to the following weighted average (this is a tentative list, BHCC-ONLINE Moodle Gradebook will always have the correct list and your points-to-letter-grade progress): Enthought Scientific Computing Solutions .............................. 100 Enthought Training Catalog ........................................................ 100 Oracle VirtualBox ......................................................................... 100 VMware Player/Fusion/Workstation ........................................ 100 Installed Virtual Machine ............................................................ 100 Enthought Canopy.......................................................................... 100 Part 1 & 2: Tools to Learn and Develop in Python ................. 200 LinkedIn Take 1 & 2 ..................................................................... 200 Resume Take 1 & 2 ....................................................................... 200 Part 1-13: Python Essentials ..................................................... 1300 Career Connect Take 1 & 2......................................................... 200 Mock Job Interview Take 1 ........................................................ 100 TOTAL ...................................................................... 2,800 POINTS 5 The point to Letter Grade equivalency is roughly (BHCC Online grade book has the exact values): 2632 2800 Points A Letter Grade 2631 2520 “ A- “ “ 2519 2436 “ B+ “ “ 2435 2324 “ B “ “ 2323 2240 “ B“ “ 2239 2156 “ C+ “ “ 2155 1960 “ C “ “ 1959 1680 “ D “ “ Less Than 1680 “ F “ “ No student will be given a final grade in this course until all requirements have been completed. EXAMINATIONS (Quizzes): Examinations are administered using the BHCC On-line Internet Based Testing System . Students are reminded of the College’s policies relative to working independently (see College Catalogue) and are required to complete all Assignments, Examinations and other projects individually, except for assignments specifically designated as group projects. THERE IS NO FINAL EXAMINATION IN THIS COURSE. ATTENDANCE POLICY: Each student is required to attend all class sessions. The Student Services Office (617.228.2000) should be notified if a student would be absent for an extended period of time. See the Student Handbook for more details. For Web Classes attendance to a physical room is not required. For Web Classes should instructor indicate an online conference schedule, students are required to attend. TEACHING PROCEDURES: Class lectures on the assigned material will be followed by lab time to be used for drill & practice exams or group project work. However, much of the work for this course is to be done outside of class time and students are urged to plan accordingly. The amount of out of class time required to complete the course will vary based on individual students’ skill sets, BUT IN GENERAL STUDENTS SHOULD PLAN TO SPEND SIX (9) TO NINE (12) HOURS PER WEEK outside of regularly scheduled classes to complete this course successfully. COURSE GROUP/TEAM WORK: Each class participant may join a team of from 3-4 students to complete certain assignments in the course. Participation points earned by each member of the Group/Team will be at the discretion of the course instructor. COMPUTER LAB TIME: The College’s Computer Lab is open seven (7) days per week according to the posted schedule. Students may use the Lab or another PC configured with the following hardware/software described in the REQUIRED COURSE MATERIAL section of this syllabus. PC’s: o Personal Computer MS WINDOWS XP, VISTA, 7, or 8 o Microsoft Internet Explorer 8,9, 10, Firefox, Google Chrome o Microsoft OFFICE 2010 Professional, Open Office or Office Libre o Internet Access o Virtualization MAC’s : o OS 10.6, 10.7, 10.8.2 o Safari 5.1-6, Firefox, Google Chrome 6 o o o Microsoft OFFICE 2010 Professional, or Open Office or Office Libre Internet Access Virtualization ASSOCIATION OF COMPUTER MACHINERY (ACM) SPECIAL INTEREST GROUP FOR INFORMATION TECHNOLOGY EDUCATION (SIGITE) OUTCOMES & KEY COMPETENCIES: The Learner Program Outcomes contained herein are statements that describe what students Must Know and/or Be Able To Do by the end of this course. The Key Competencies are specific, observable behaviors, knowledge, abilities and skills that detail and support the Learner Program Outcomes. These outcomes and competencies are published by the Association of Computer machinery, Special Interest Group For Information Technology Standards (SIGITE). Visit http://www.sigite.org For More Details The competencies in this course are validated through the BHCC on-line interactive assessment system as well as completed Assignments, Tasks and Quizzes. *************************************************************************************************** STUDENT CODE OF BEHAVIOR: All students at BHCC are reminded of their expected Code of Behavior especially regarding the creation, completion, and submission of the course’s INDIVIDUALLY assigned projects. As stated in the BHCC College Catalog: “If it is proven that a student in any course in which he or she is enrolled has knowingly cheated or plagiarized, this may result in a failing grade for an exam or assignment, withdrawal from the course or a failing grade for the course. The student would also be subject to disciplinary proceedings as outlined in the Student Handbook for violation of the Student Code of Conduct.” Under no circumstance should a student give any of their electronic assignment files to any other student for ANY reason unless the assignment is designated as a “GROUP” project. All students involved in file sharing are subject to disciplinary action as specified in the BHCC College Catalog. DISABILITY SUPPORT SERVICES: Policy for Individuals with a Disability: Bunker Hill Community College is committed to providing equal access to the educational experience of all students in compliance with Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 199. Any student with a documented disability requiring an accommodation should immediately speak to the professor. Students with disabilities, who have not already done so, should schedule an appointment at the Office for Students with Disabilities (Room E222 –LIFEMAP Commons) in order to obtain appropriate services. 7 SCHEDULE COVERAGE/TOPICS Virtualization Unit I Employability COURSE OUTCOMES & COMPETENCIES ASSOCIATION OF COMPUTER MACHINERY (ACM) SPECIAL INTEREST GROUP FOR INFORMATION TECHNOLOGY EDUCATION (SIGITE) OUTCOMES & KEY COMPETENCIES Tools to Learn and Develop Visit http://www.sigite.org For More Details SCHEDULE Unit II COVERAGE/TOPICS Python Essentials COURSE OUTCOMES & COMPETENCIES ASSOCIATION OF COMPUTER MACHINERY (ACM) SPECIAL INTEREST GROUP FOR INFORMATION TECHNOLOGY EDUCATION (SIGITE) OUTCOMES & KEY COMPETENCIES Employability Visit http://www.sigite.org For More Details 8 CIT 125 Python Programming COURSE OUTLINE & REQUIREMENTS This course uses BHCC Academic Calendar for dates: START “Classes Begin” END “Classes End/Web Late Start Classes (WBL) End” Please use BHCC website to check these dates Unit UNIT Schedule Due I II Expected completion: 3 week/s Expected completion: Remainder of semester <8/11/15> <8/14/15> All Assignments MUST Be Submitted and Quizzes Taken By The Above Unit Closing Dates To Receive FULL Credit. No Assignment Will Be Accepted After the Unit block is Closed. No Quizzes May Be Taken After the Unit block is Closed. All Unit blocks Will Be Closed On The SUNDAY After the Unit Closing Date. 9 NAME: ________________________ BHCC Major: ________________________ E.MAIL ADDRESS: ________________________ CIT 125 Python Programming COURSE ASSIGNMENTS Unit I ASSESSMENTS This is a tentative list, BHCC-ONLINE Moodle Gradebook will always have the correct list and your pointsto-letter-grade progress Syllabus & Pre-Req & Virtualization & Employability & Tools to Learn and Develop Read, Watch and DO all videos provided in or indicated on the BHCC on-line Unit Block and other written instructions: Enthought Scientific Computing Solutions FOLDER Enthought Training Catalog FOLDER Virtualization FOLDER Virtual Machine MS Windows FOLDER Virtual Machine Linux FOLDER Part 1 & 2: Tools to learn and Develop in Python FOLDER Enthought Scientific Computing Solutions 100 Enthought Training Catalog Oracle VirtualBox VMware Player/Fusion/Workstation Installed Virtual Machine Enthought Canopy Part 1 & 2: Tools to learn and Develop in Python Resume Take 1 TOTAL POINTS Unit 1 900 10 Points “ “ “ “ “ “ “ “ Unit II ASSESSMENTS This is a tentative list, BHCC-ONLINE Moodle Gradebook will always have the correct list and your pointsto-letter-grade progress Python Essentials & Employability Read, Watch and DO all videos provided in or indicated on the BHCC on-line Unit Block and other written instructions: LinkedIn Take 1 & 2 FOLDER Part 1 - 13: Python Essentials FOLDERS Mock Job Interview FOLDER Mock Job Interview FORUM Resume Take 2 FOLDER Career Connect Take 1 & 2 FOLDER LinkedIn Take 1 Part 1: Python Essentials Part 2: Python Essentials Career Connect Take 1 Part 3: Python Essentials Part 4: Python Essentials Mock Job Interview Take 1 Part 5: Python Essentials Part 6: Python Essentials Part 7: Python Essentials Part 8: Python Essentials Part 9: Python Essentials Part 10: Python Essentials Part 11: Python Essentials Part 12: Python Essentials Part 13: Python Essentials Resume Take 2 Career Connect Take 2 LinkedIn Take 2 TOTAL POINTS Unit 2 100 Points “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ 1,900 “ 11 TOTAL ALL COURSE QUIZ & Assignments 3900 POINTS This is a tentative list, BHCC-ONLINE Moodle Gradebook will always have the correct list and your pointsto-letter-grade progress The Point to Letter Grade Equivalency is roughly (BHCC Online has the exact values): 2632 2800 Points A Letter Grade 2631 2520 “ A- “ “ 2519 2436 “ B+ “ “ 2435 2324 “ B “ “ 2323 2240 “ B“ “ 2239 2156 “ C+ “ “ 2155 1960 “ C “ “ 1959 1680 “ D “ “ Less Than 1680 “ F “ “ 12 Your completed project is Approaching Professional Quality if you: Your completed project Needs Quality Improvements if you: 1-Software Mastery Choose and apply the most appropriate skills, tools, and features and identify efficient methods to solve the problem. Choose and apply some appropriate skills, tools, and features, but not in the most efficient manner. Choose inappropriate skills, tools, or features, or are inefficient in solving the problem. 2-Content Construct a solution that is clear and well organized, contains content that is accurate, appropriate to the audience and purpose, and is complete. Provide a solution that contains no errors of spelling, grammar, or style. Construct a solution in which some components are unclear, poorly organized, inconsistent, or incomplete. Misjudge the needs of the audience. Have some errors in spelling, grammar, or style, but the errors do not detract from comprehension. Construct a solution that is unclear, incomplete, or poorly organized, containing some inaccurate or inappropriate content; and contains many errors of spelling, grammar, or style. Do not solve the problem. 3-Format and Layout Format and arrange all elements to communicate information and ideas, clarify function, illustrate relationships, and indicate relative importance. Apply appropriate format and layout features to some elements, but not others. Overuse features, causing minor distraction. Apply format and layout that does not communicate information or ideas clearly. Do not use format and layout features to clarify function, illustrate relationships, or indicate relative importance. Use available features excessively, causing distraction. Use an organized approach that integrates planning, development, self-assessment, revision, and reflection. Demonstrate an organized approach in some areas, but not others; or, use an insufficient process of organization throughout. Do not use an organized approach to solve the problem. Weight Your completed project is of Professional Quality if you: 4-Process CIT125 Python Programming Assignments Grading Rubric 13 Comments CIT125 ASSIGNMENT CALENDAR August Week of 10th For your convenience, use this schedule to help you coordinate yourself. Typically (note schedule may change) Day 1: “Classes Begin” Day 5: “Classes End” Day DATES 1 Unit I BEGINS <8/10/15> 2 3 Unit I Ends Unit II BEGINS <DATE> <DATE> 4 <DATE> 5 <8/14/15> - - ASSIGNMENTS/ QUIZZES Syllabus, Pre-Reqs, Lab Procedures, become familiar with BHCC On-line site, Enthought Scientific Computing Solutions, Enthought Training Catalog, Virtualization, Oracle VirtualBox, VMware Player/Fusion/Workstation Installed Virtual machine, Enthought Canopy, Part 1: Tools to Learn and Develop Part 1: Tools to Learn and Develop, Resume Take 1 LinkedIn Take1, Part 1 & 2: Python Essentials Career Connect Take 1, Part 3: Python Essentials Part 4: Python Essentials Part 5: Python Essentials Part 6: Python Essentials Part 7: Python Essentials Part 8: Python Essentials Part 9: Python Essentials Part 10: Python Essentials Part 11: Python Essentials Part 12: Python Essentials, Mock Job Interview Take 1 Part 13: Python Essentials, Resume take 2, Career Connect Take 2 LinkedIn Take 2 All class requirements must be completed End of course evaluation survey To complete the course by the end of the semester, you must adhere to the following timetable: Unit I II COMPLETION DATE <8/11/15> <8/14/15> 14