Presentation is loading. Please wait.

Presentation is loading. Please wait.

Welcome to Computer Programming K Open House September 8, 2015

Similar presentations


Presentation on theme: "Welcome to Computer Programming K Open House September 8, 2015"— Presentation transcript:

1 Welcome to Computer Programming K Open House September 8, 2015
Welcome to Computer Programming K. My name is John Cargill, pronounced car’-gill (like a underwater car - a car with gills). I have been teaching computer science in CFISD for eight years. This is my fifth year at The Ranch. I earned my degree in computer science from Texas A&M and have been developing commercial applications for over 30 years. I love teaching Computer Programming K because I get to see many ah-ha moments when a student FINALLY figures out how to get a program to do what they want, rather than what they were telling it to do. I am looking forward to having your child in my class for the remainder of the year. I will strive to enlighten them primarily in the skill of problem solving, and we will learn some programming skills along the way. I try not to assign homework in this class. I would rather the students focus their efforts on their core courses while at home. However, I do ask them to stay focused on computer science during class.  If you ever need to contact me for any reason (praise of your child, or concern), please don’t hesitate in doing so. You can me at I will make every effort to answer your in a timely manner. If your child begins to stress out about the class, or begins to fall behind, please encourage them to attend tutoring. I offer tutoring on Mondays and Wednesdays from 2:45 until 3:10. Please ask them to jot down any questions they may have and we will try to get them to a point of full comprehension during the tutoring session. This IS a faced paced course, but it should be fun and academically rewarding. Your child will be able to apply the skills learned in the class to other classes, both current and future, as well as in the career they choose. I am thrilled your child chose Computer Programming K as one of their electives, and I am looking forward to working with you to ensure their success in the class.

2 Programming Environments
Scratch Jeroo Alice We started the year in Scratch, a development environment written by MIT (Massachusetts Institute of Technology). Scratch is a two-dimensional development environment in which objects (called sprites) remain in a plane (called the stage) consisting of an x and y coordinate. Scratch is a drag-and-drop development environment and it is impossible to make an error (syntax error) writing a Scratch program. A syntax error is one that occurs when a programmer tries to use invalid code. The compiler will not be able to compile a program that is syntactically incorrect, and will generate an error. In Scratch this never occurs, because code statements (represented as blocks) are dragged from a category and dropped into a script area, and then snapped together. If a block cannot be snapped together with another block, then it means that statement is invalid in that context. Although it is impossible to make a syntax error in Scratch, it IS possible to make a logic error or generate a runtime error. A logic error occurs when the programmer does not tell the computer how to accomplish a task correctly. A runtime error is an error that occurs during the execution of a program (e.g. dividing by zero). Not having to worry about syntax errors makes Scratch an ideal environment in which to introduce students to programming. We can focus on programming concepts and constructs such as ifs, loops, variables, and lists, rather than getting bogged down by the semantics of a language. We will spend about five weeks in Scratch getting our feet wet. Scratch was written in a language called Squeak (an open-source implementation of the Smalltalk-80 language). It is open source and may be downloaded for free from scratch.mit.edu. Open source means that you may also download the source code and the code can be freely used, changed, and shared (in modified or unmodified form). After we complete our introduction to programming using Scratch we will move into Alice. Alice is a development environment which was originally developed at The University of Virginia, and then moved into development at CMU (Carnegie Mellon University) in Alice is a three-dimensional development environment in which 3D objects are represented in a 3D world consisting of an x, y, and z coordinate. Like Scratch, Alice is also a drag-and-drop development environment. Unlike Scratch, it is possible to make a syntax error in Alice; however Alice will guide you along the way and make it difficult to overlook any invalid semantics. We will spend about six weeks in Alice learning more complex algorithms and producing more advanced coding solutions. Alice was written in Java, is open source, and may be downloaded for free from alice.org. After Alice we will use Jeroo to introduce Python syntax. Jeroo is a development environment written by Dr. Dean Sanders of Northwest Missouri State University and Dr. Brian Dorn of the University of Hartford. Dr. Dorn worked on the Jeroo project as an undergraduate and has continued to maintain the source code throughout his academic career. Jeroo has followed Dr. Dorn from Norhwest Missouri State University, where he earned his BS in Computer Science in 2002, to Iowa State University, where he earned his MS in Computer Science in 2005, to Georgia Institute of Technology (Georgia Tech), where he earned his PhD in Computer Science in 2010, to his faculty position at the University of Nebraska at Omaha, where he joined the faculty in Jeroo is a two-dimensional, graphically-oriented, development environment in which students begin learning the basics of object-oriented programming and are required to type code and adhere to the semantics of a language. Jeroo supports developing programs in Java, C++, C#, VB.NET, and Python. It is a very simple programming language, having a single class (the Jeroo class) and thus allows the student to focus on basic syntax. In a Jeroo program the programmer may use the single Jeroo class to instantiate up to four objects (called Jeroos). We will spend about three weeks in Jeroo learning Python syntax. Jeroo was written in Java and may be downloaded for free from home.cc.gatech.edu/dorn/jeroo (visiting jeroo.org will redirect your browser to the gatech address). Although Jeroo is not open source, there is an open source project to write an open source version of Jeroo (search for Jeroo OpenSourced). After our brief stint in Jeroo we will begin our second semester in Python. Python was developed in the 1980’s by Guido van Rossum while working at CWI (Centrum Wiskunde & Informatica) in the Netherlands. It was first released in 1989, and is now enhanced and maintained by the Python Software Foundation. Python is a development environment in which many commercial applications are written. It emphasizes readability by forcing consistent indentation, and, by design, has a more concise statement base. This allows programmers to use fewer lines of code than would be required in C++ or Java. Python supports several programming paradigms. It may be used to write procedural style programs; the style that C, Fortran, Pascal, and BASIC use, or to write object-oriented style programs; the style that Java, C++, C#, VB, and Ruby use. It may even be used to write scripts to automate tasks on a system. The Python programming language may also be used in an imperative and functional programming style. Python uses dynamic typing (variables do not have to be declared as a particular type and may change type as the program runs). Python has an extensive standard library which we will use and we will also explore the Pygame library. Pygame was created by Pete Shinners. Pete began developing Pygame in the summer of 2000, and it is now enhanced and maintained by the Pygame Community. Pygame is a library designed to make writing games in Python easier. Technically it is a Python wrapper for SDL (Simple DirectMedia Layer) library. It includes many modules that make the art of game development exciting and very productive. We will spend about five weeks in Python/Pygame increasing our knowledge of object-oriented programming. The Python programming language has been ported to many languages (the compiler and interpreter have been written in many languages). Those versions include CPython which is written in C, Jython which is written in Java, PyPy which is written in Python, and IronPython which is written in C#. The Pygame library is written in Python, with core functions being written in C and Assembly. This is done to increase the speed of the gaming code. Natively compiled C code can be times faster than interpreted Python code, and natively complied Assembly can be 100 times faster. Python and Pygame are both portable languages, i.e. the source code for a Python/Pygame program does not have to be modified to run on most of the popular OSes (e.g. you can develop a program under Windows and run it on a Linux box). Both Python and Pygame are open source and may be downloaded for free from python.org and pygame.org/download.shtml respectively. We will end the year learning how to program in Java. A team lead by James Gosling of Sun Microsystems began developing Java in 1991 and it was first released in Oracle acquired Sun (and by proxy Java) in Oracle Corporation now enhances and maintains Java. It is an extremely popular language used to write commercial applications, is very portable, and runs on more than 3 billion machines worldwide. A Java program may be written on any OS that has a Java Development Kit and run on any platform that has a Java Virtual Machine without modifying the source code. Python

3 Daily Activity Document
When the students enter class, they log in and open the Daily Activity Document, or DAD, for the current day. Their DAD lets them know what we will be working on that day and what is expected of them. For an example here is tomorrow’s DAD. The students can view past and upcoming assignments by visiting my web site. The site has links to the development environments we use in class as well as a link to the course calendar. This PowerPoint and the course syllabus are also available on the web site under the resources menu. We work bell-to-bell in Computer Programming K. When the students arrive they are asked to have a seat, login, load their DAD (Daily Activity Document), and begin working. As I mentioned in the notes for the Welcome slide, I try not to assign homework, leaving that time for core courses, but I do ask that the students stay focused on computer science during class from the opening bell to the closing bell. That gives the students roughly 51 minutes of class five times per week. That is not a lot of time for learning all of the topics we will visit in Computer Programming K. The students can stay abreast of upcoming assignments by viewing the six weeks calendar which is available on the S drive and my website (mrcargill.com). The site also has resources to help the students acquire and use the development environments we use in class.

4 Mondays and Wednesdays from 2:45 until 3:10
Grading Daily Grades 20 % Warm-ups, Pop Quizzes, Introductory Labs Assessments 40 % Quizzes, Advanced Labs Major Grades 40 % Projects, Tests Tutoring Grading weights for Computer Programming K are as follows: 20% Daily Grades (about 2 per week): This includes warm-up exercises, pop quizzes, and introductory (simple) labs 40% Assessments (about 2 per six weeks): This includes quizzes, and advanced (complex) labs 40% Major Grades (about 2 per six weeks): This includes projects, and tests I have tutoring on Mondays and Wednesdays from 2:45 until 3:10. I encourage students to come to tutoring as soon as they don’t feel comfortable about a topic. If they are having difficulties understanding anything we introduce it is beneficial for them to come to tutoring and gain an understanding before we move on to more complex topics. The students are also welcome to come to tutoring should they need additional lab time to complete assignments. I ask that before coming to tutoring they notify you (the parent/guardian) and me to ensure you will know where they are and I will be expecting them. Mondays and Wednesdays from 2:45 until 3:10

5 Grade-related Policies
Major Grade Policy 2 to 3 major grades per 6 weeks. Most major grades will be projects. Make-Up Work Policy Late penalties are assessed as follows: 1st through 4th day late: 5 points per day – maximum is 20 points. This is a school-wide policy. Work not submitted will receive a grade of zero – a Z will be entered as the student’s grade. Work may still be submitted after a Z is entered. As stated in the notes in the previous slide, we will have about 2 major grades per six weeks. Major grades consist of projects and tests; most of the major grades will likely be projects. A penalty of 5 points per day an assignment is late is deducted from the earned grade on the assignment for a maximum of 4 days (20 points). Students are strongly encouraged to get assignments completed by the due date to avoid accumulating late penalties. The students are asked to submit their work to the Inbox on the day that it is due or if they have not yet completed the assignment, to submit it AS SOON AS they get it completed. I grade some assignments during class to give immediate feedback to the students. Students are still required to submit their work to the Inbox, even if I grade it during class. Late penalties may be applied to work already graded should it not be submitted to the Inbox. If a student does not submit an assignment by the due date I place a Z in gradebook indicating I have not received the assignment. Z is calculated as a zero and will cause a drop in the student’s average. This tool is a reminder to the student to get the assignment submitted as soon as possible. When the assignment is submitted, the Z will be replaced by the earned grade, minus any late penalties. I encourage students, as well as their parents, to gain access to Home Access Center, and to stay on top of their progress in the class. Students who are absent will have the number of days equal to the number of days missed to complete make up work. Make up work is to be completed outside of normal class hours.

6 Grade-related Policies
Retesting Policy A student in a Career & Technical Education course that earns a grade that is below a passing level of 70 on an assignment that is classified as a major/test grade will be given the opportunity to retake an assignment that is similar to the original assignment. This assignment will be completed at the teacher’s discretion within one week from the original assignment date and can only be retaken one time. Arrangements must be made with the teacher to attend at least one tutorial session outside of school hours prior to the retake. The student will be allowed to improve the grade to a maximum of 70%. An assignment “retake” form must be signed by a parent or guardian and returned before the assignment can be retaken. CATEs policy on retesting states that if a student earns below a 70 on a major grade, the student is allowed to retake/redo the assignment and earn up to 70 points on the retake/redo. The students are allowed to retake/redo one assignment per grading period per class. An assignment cannot be retaken/redone during the last week of a grading period. An assignment cannot be retaken during the last week of a grading period.

7 To sign up for remind messages
to 81010 If you wish to receive remind messages I send out, please to I will try to keep the number of messages to a minimum. I know that you have probably joined MANY remind classes, and I understand the barrage of messages can get annoying. You may opt out at any time by replying

8 Contact Info Please fee free to me at any time should you have any praises or concerns about your child/ward. I am looking forward to a great year together!


Download ppt "Welcome to Computer Programming K Open House September 8, 2015"

Similar presentations


Ads by Google