Zebra0.com

MCMONTGOMERY COLLEGE: Course Syllabus

MONTGOMERY COLLEGE: Course Syllabus

MONTGOMERY COLLEGE: Course Syllabus

Computer Science and Information & Interactive Technologies

CMSC100: CMSC100: Introduction to Programming, section: 60081, Prof. J. Joy, Winter, 2023
Starts Monday, December 18, 2023; ends Friday, January 19, 2024
This class does NOT have a meeting time. It is completely asynchronous.

I. Contact Information: Professor J. Joy

Email: Janet.Joy@montgomerycollege.edu (This is the preferred way to contact me.)  I usually answer my email first thing in the morning and again in the evening. (It depends on my schedule.)  On weekends it may be less often.
Questions: If you have a personal question please use the email above or course mail. If you have a general question that is of interest to the whole class, such as clarification of an assignment, please use Questions in the discussion area of Blackboard.

Office Hours: Online with Zoom: https://zoom.us/j/4497759354 
By appointment only: If you need to see me, please send me 2 or 3 blocks of time you could meet and I will get back to you with a time that works for both of us.

In addition, I will have optional class "Zoom coffee breaks" that are at varying times each week. These are entirely optional and informal opportunities to say hello to me and some of your classmates or to ask questions.

Your Montgomery College e-mail account is the official means of communication for the college. I may not receive emails sent from outside addresses. Blackboard will use this email address to send reminders about overdue projects and other announcements. It is recommended that you check this account routinely. To check your e-mail, log into your MyMC Online account and locate the e-mail icon in the upper right hand corner of the page. You can forward your MC email to your other email. Announcements sent from Blackboard may have "Do not respond" as the subject. Please take a look to see if it is important! 

II. General Course Information

CMSC 100 - Fundamentals of Programming

Designed for students with no prior programming experience, this course introduces students to fundamental structures of sequence, selection, and repetition, emphasizes solving simple problems using a flowchart. With a high-level language, students code, test, and debug short programs. Assessment Level(s):ENGL 101/ENGL 101A, MATH 050, READ 120. Two hours each week. Formerly CS 100.2 semester hours.

Accessibility: This section uses Alice3 to create 3D animation. This course is not recommended for students who cannot view and create videos. The videos used in this course have closed captions or a text version is available. Montgomery College accessibility statement: http://cms.montgomerycollege.edu/edu/Department.aspx?id=53990
Preparedness: This is a fully online class. To succeed in this course you should be confident working with a computer, accessing information via the Internet, and using email as a primary means of communication. You should be comfortable with email attachments, troubleshooting an Internet connection, and downloading software. Online courses require extreme self-discipline. One must log on 3-5 times per week and be prepared to read and follow through on assignments and instructions. Students must plan to spend 4-6 hours per week preparing and submitting assignments. Initially, a great deal of time is spent becoming familiar with Blackboard and dealing with technical problems.  Technology is unreliable.  The plan to submit homework at the last moment can be defeated with a busy or down server.

III. Student Learning Outcomes

Upon course completion you will be able to:


By the end of this course you will be able to:

You will demonstrate this objective through:

1. Define the software development life cycle.

By creating a storyboard for your final project and testing and debugging each of the programming assignments. 

2. Describe the core features of programming languages:
a) Variables, constants, and data types
b) Flow control structures
c) Arrays

Each week you will learn new features. You will test your understanding through quizzes. Then you will apply what you have learned by writing programs that use these core features and the ones you have learned previously.

3. Demonstrate the ability to design, develop, and test basic computer programs using the core programming features.

This is demonstrated in all programming projects, progressing from simple to more complex. In your final project you will apply these skills to create an animated movie with sound and other effects.

4. Decompose a software program into functional subprograms (procedures and functions).

As your programs get larger, you will use functions and procedures in order to work on one part at a time. This will make it easier to test and debug your programs. 

Learning to program is a cumulative skill. Each week you will learn a few new skills or tools. You will share your thoughts, and what you have created using these new skills in the discussion area in Blackboard. You will also have a chance to see what your classmates have created and get new ideas and techniques from them. You will test your understanding of the new material through quizzes. Finally, you will apply what you have learned by creating a program that uses the new tools, along with the skills from previous weeks to create increasingly more complex 3D animation. You will use a variety of control structures to make interesting animations. The control structures allow you to specify which actions to take, whether to perform actions at the same time or in sequence and to specify how many times an action should be performed.   As your programs get larger, you will learn to break them into subparts so that you can write, test and debug one piece at a time.

IV. Required materials

There is NO required text for this class.  We will use online materials and tutorials that are available for free on the internet. Alice is available for both the Mac and Windows computers.

  • Visit Alice.org and read all of the installation information for your computer.
  • Download and install Alice 3.6, or latest version from http://www.alice.org  Do NOT download Alice 2.x

Access to Alice software is required! If you cannot install Alice on your computer, you may use Alice in any of the MC computer labs. This is not an excuse for not doing the work.

Alice 3.x © 2008-2016, Carnegie Mellon University. All rights reserved.
Alice/Zebra0.com © 2016, Joy, J. for zebra0.com. All rights reserved.

V. Grading

Grades are earned, not given.  Students may be asked to explain their work orally on Zoom.
Course grades will be based upon the following:

  • There is a final project for this course in lieu of exams. You start the final project on the first day, then add to it after every lesson. You will be required to complete a summary of your final project and evaluate 3 other projects by your class peers.
  • There will be 11 programming assignments. All assignments must be uploaded to your course assignment page with all files needed to grade the assignment/practice activity to receive credit.
  • Each unit has discussion questions in Blackboard. You will be required to give an initial response during the first half of the unit (usually Wednesday) and you must respond to at least two other students regarding their initial postings. Responses must be substantive, relevant and constructive.  Responses must be at least 25 words long using standard academic English. If there are spelling or grammar errors in the initial post you will receive a 0. I drop the 3 lowest discussion grades, therefore I do not reopen discussions if you miss one.
  • There will be a quiz in Blackboard every 2 or 3 days. I drop the 2 lowest quiz grades, therefore I do not reopen quizzes if you miss one.
  • All assignments, discussions and quizzes will be due at the end of the unit, postmarked by midnight.
  • I usually grade assignments within 2 days once submitted. If I ask for corrections, they must be resubmitted within 3 days.The last project may not be resubmitted. At that point in the semester, you should be used to using the checklist.
  • All assignments lose 10% each day they are late. They will receive a grade of 0 if more than 1 week late.
Assignment Each Total %
10 Programming projects 5% 50%
12 Discussion questions 1% 11%
15 Quizzes (-3 dropped) 1% 11%
Final project design    8% 
Final Project   required 20%

A=100-90%   B= 89-80%   C=79-70%   D=69-60% F=60%-below

Please note that Blackboard has a column “Unweighted total” Disregard this column!
The grade is calculated as shown above.
The column labeled “Complete” shows your grade so far. At the end of the semester, this is your final grade.

This is an Online course. Active participation in the online activities and completion of all homework and Online assignments is required in order to pass this course.
Due Dates: All due dates are in Blackboard. You can check the calendar in Blackboard. 
Participation: Students must participate in the Blackboard discussion about 3 or 4 times per week. If you miss 2 discussions in a row without contacting me, you are subject to being dropped from the class.
Audit Policy: If you are auditing, you are welcome to participate in the Blackboard discussions and take all quizzes and submit programs but it is not required.

VI. Class Policies

Important Student Information Link
In addition to course requirements and objectives that are in this syllabus, Montgomery College has information on its web site (see link below) to assist you in having a successful experience both inside and outside of the classroom. It is important that you read and understand this information. The link below provides information and other resources to areas that pertain to the following: student behavior (student code of conduct), student e-mail, the tobacco free policy, withdraw and refund dates, disability support services, veteran services, how to access information on delayed openings and closings, how to register for the Montgomery College alert System, and finally, how closings and delays can impact your classes. If you have any questions please bring them to your professor. As rules and regulations change they will be updated and you will be able to access them through the link. If any student would like a written copy of these policies and procedures, the professor would be happy to provide them. By registering for this class and staying in this class, you are indicating that you acknowledge and accept these policies.
 http://cms.montgomerycollege.edu/mcsyllabus/, Additional Montgomery College policies

VII. Support

Computer problems: As a computer student, you are expected to anticipate potential computer problems. Save often! Keep backups! Allow plenty of time to complete the assignment! Computer problems are not an excuse for submitting an assignment late! I can provide help if you send me a clear explanation of the problem, plus any relevant source files or screen shots.

Netiquette: Etiquette rules for the discussion board.
The discussions are an important part of online classes. Each week you will share ideas with your classmates.  You can learn a lot from your classmates and by sharing ideas. Your classmates come from many different cultures and backgrounds. You want to share ideas and tips, not offend. Please read http://www.zebra0.com/MC/netiquette.pdf for discussion rules.

Technical Requirements & Technical Support:  You will need the following to participate online:

  • Regular use of a computer with Internet access and a web browser such as Firefox, Chrome, or Internet Explorer.  Expect to spend several hours online each week.
  • A web browser such as Firefox, Chrome, or Internet Explorer.
  • Speakers or headphone to listen to the videos and to play the sounds you add in Alice.
  • See prepare yourself: http://cms.montgomerycollege.edu/distance/prepare/
  • It is highly recommend that you have internet access at home, however, there are computer labs  http://cms.montgomerycollege.edu/oit/InTech.aspx?id=60795

For technical assistance with college supported resources, call the Montgomery College IT Service Desk at 240-567-7222 or ://cms.montgomerycollege.edu/EDU/Department2.aspx?id=9356
Blackboard Help Desk: The HELP link on the left‐hand course menu links to the MC Blackboard Online Support Center:

  • Call the Support Center at 240‐567‐7222 or
  • Chat with a service representative, or
  • Submit a ticket.

Note:  Click the My Support link at the top of the Blackboard Online Support Center screen to view a history of your correspondence with the Blackboard Support Center.
System Downtime:  The Office of Information Technology conducts computer network maintenance on Sunday morning from 12:01 AM to 6:00 AM each week.  During this time you may be not be able to access My MC to login to Blackboard.  Do not rely on this time to submit course work.
Distance Learning Support: For all general distance education related questions, contact the Office of Distance Education and Learning Technologies at 240-567-6000 or dl@montgomerycollege.edu. 
For all Blackboard and MyMC related questions and issues, contact the IT Service Desk at 240-567-7222  or ITServiceDesk@montgomerycollege.edu or Blackboard Online Support Center. 

VIII. Course Resources & Technologies

Adobe Acrobat Reader, required: Download and install from https://get.adobe.com/reader/ Copyright © 2017 Adobe Systems Incorporated. You probably already have this if you are reading the syllabus. No privacy policy available. Adobe acrobat is accessible with a screen reader.

Alice 3.1, required: Download and install Alice 3.2 or later from http://www.alice.org, Alice 3.x © 2008-2017, Carnegie Mellon University. You do not need to login or register. Alice is available for PC and Mac. No privacy policy is available. Alice is a tool for creating 3D animation. There is no comparable tool for students who cannot see the animation.

Alice Lessons at Zebra0.com, required: Available at http://zebra0.com/alice
Author: Janet E. Joy; Publisher: Zebra0.com, This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Privacy policy:
http://www.zebra0.com/resources/privacy.php All videos have closed captions.

Blackboard, required:  Copyright © 1997 - 2017. Blackboard Inc. Login to Blackboard from MyMC.  Privacy policy: http://www.Blackboard.com/footer/privacy-policy.aspx Blackboard is fully accessible.
Eclipse, optional: Download and install from https://eclipse.org/downloads/ Copyright © 2017 The Eclipse Foundation. If you have a problem installing Alice with the message that you need the Java JDK, install Eclipse and then retry installing Alice. Eclipse is accessible. Privacy police: https://eclipse.org/legal/privacy.php
Screencast-o-matic, recommended: Download and install or run online from https://screencast-o-matic.com/ © Screencast-O-Matic , privacy policy: https://screencast-o-matic.com/privacy You may use any video recording software except Flash to create the required videos for this class.  Screencast-O-Matic is a tool for creating videos. It is vision dependent.
Zoom, required: Copyright ©2017 Zoom Video Communications, Inc.
Join from PC, Mac, iOS or Android: https://zoom.us/j/4497759354
No privacy policy available. Eclipse is accessible.

IX. A Typical Week

An Online class requires quite a bit of self motivation. All of the projects and activities are due on Sunday night, so that we end one week on Sunday and begin the next week on Monday. 

When you make out your schedule for the week, be sure to block out enough time each week when you can read, study, work on a computer!  In a class that meets fewer than 15 weeks, there will be several assignments, quizzes and discussions due each week. Although they are mostly due on Sunday night, you should try to spread them out over the course of the week, depending on your own work schedule. Your initial posts in the discussion, and first attempt at the quizzes are due on Wednesday.

Here is the math: Being a full time student (15 credits or 5 classes) is considered a full time job. A full time work week is 40 hours. Thus one college class will requires about 8 hours per week in a 15 week semester, or 120 hours for the semester. A shorter term requires the same amount of time, assignments and effort. Use the table below to block out sufficient time for each course:

Weeks in Class   Hours per week   Hours per course
15 8 120
10 12 120
8 15 120
5 24 120
4 30 120

Start on Monday by looking in Blackboard for the week's assignments and discussion questions. Keep the discussion questions in mind as you read the chapter.  Some weeks cover more than one unit or chapter.

Write your initial post to the discussion questions by Wednesday. Read the other posts and exchange ideas and thoughts with classmates during the rest of the week.

Each unit has a quiz in Blackboard, The first attempt is due on Wednesday. You have 2 more attempts until Sunday. Take the quiz again if you miss any questions.

Check into the discussion board in Blackboard periodically to ask questions, answer questions, and respond to your classmates. 

You are expected to save all of your work on a USB drive or other storage device. You are responsible for completing all of the work on time even if your computer crashes.

Class Schedule and Important Dates

In order to provide the best possible learning experiences, these dates may change.
Please refer to the resources in Blackboard for any announcements or changes.
All of the learning modules are required.

Week 1: Monday, December 18, 2023 - Sunday, December 24, 2023

Topics this week: read, study, learn each of the items below:

Introduction to CMSC100Lesson 1: Introduction to CMSC100

Goal: Learn all of the skills necessary to succeed in this course.
Objectives: In order to do this you will:
  • Read the syllabus;
  • Introduce yourself to your classmates;
  • Join a study group;
  • Watch the welcome video;
  • Find the professors name and contact information in the syllabus;
  • When are the professors office hours?
  • Find how many quizzes and projects there will be in this class;
  • Know what percent of the grade each quiz, discussion, or project is;
  • Find what day everything is due;
  • Find 2 places to get help;
  • Read each section of Blackboard and find one SECRET to SUCCESS;
  • Learn about grading and class policies.

Introduction to Alice 3Lesson 2: Introduction to Alice 3

Goals:
  • Download and install the latest version of Alice and run it;
  • Learn to navigate the user interface;
  • Learn about some of the 3D models in Alice.
Objectives: In order to do this you will:
  • Download and install Alice (or find a computer lab with Alice.);
  • Select a template, such as grass, moon, sea floor, etc.;
  • Toggle between the scene editor and the code view windows;
  • In the code view window, locate each of the panels;
  • Name 3 classes in the Alice gallery;
  • Be able to search for an object in the gallery.

Your First program: Hello WorldLesson 3: Your First program: Hello World

Goals:
  • Write your first program in Alice3;
  • Be able to create a scene by selecting a template;
  • Add a character and other objects to the scene;
  • Create and edit code;
  • Understand how to add comments and why they are important;
  • Be able to debug simple errors.
Objectives: In order to do this you will:
  • Write your first Alice program;
  • You will learn to add code;
  • Create and modify a scene in the design view;
  • Select and add 3D characters to the scene;
  • Select, add and modify people;
  • Use the arrows to move, rotate, and resize the characters and other objects;
  • Move the camera and change the angle;
  • Add comments with your name and description of the program;
  • Create code to have the character say "Hello World";
  • Run the program, test, debug, and save it.

The Software-LifecycleLesson 4: The Software-Lifecycle

Goals:
  • Learn how to use some tools for planning;
  • Designing and managing larger software projects;
  • Break the program into small manageable parts.
Objectives: In order to do this you will:
  • Algorithms: Analyze the problem and determine the best way to achieve the goals;
  • Pseudocode: Decompose the problem using step wise refinement;
  • Storyboards: Create a graphical layout for the design;
  • Flowcharts: Analyze the problem using standard symbols to illustrate the sequence of actions;
  • Truth tables: Create a table of all possible combinations and the desired outcomes.

Start, Save, Reopen and modify your programLesson 5: Start, Save, Reopen and modify your program

Goals:
  • Learn ways to start a new project;
  • Modify, save, save as, and reopen your project;
  • Set preferences.
Objectives: In order to do this you will:
  • Instead of selecting a template choose other tabs: starters, my projects, recent, file;
  • Use the arrows to move, rotate. and resize the characters and other objects;
  • Move the camera and change the angle;
  • Edit an existing project;
  • Add parameters to commands;
  • Set the preferences to see Java style code;

Understanding the Alice Virtual WorldLesson 6: Understanding the Alice Virtual World

Goals:
  • Understand how objects view the world;
  • Learn how to move objects in the Alice virtual world;
  • Be able to move, turn and roll the objects that make up your scene;
  • Gain a deeper understanding of objects in the Alice virtual world.
Objectives: In order to do this you will:
  • Understand the basic principles of object motion and rotation;
  • How Objects see the Virtual World: Video demonstrates move, turn and roll;
  • Understand that each object has a sense of direction;
  • Be able to add code to move, turn and roll;
  • Use a sequence of actions to create a dance routine, or other complex action.

BlackboardDue in Blackboard by Midnight, Wednesday, December 20, 2023

Initial post in discussions: 1. Introductions, 2. Reaction to Alice
First attempt at quizzes: 1: Syllabus, 2: Introduction to Alice, 3: The Software-Lifecycle, 6: The Alice Virtual World

BlackboardDue in Blackboard by Midnight, Sunday, December 24, 2023

Final Project Design: Step 1: Proposal, Step 1: Proposal, Step 2: Algorithm and Storyboard
Assignments: In Blackboard: Check major and submit Academic Integrity statement, Program 1: Hello World
Last chance to take quizzes: 1: Syllabus, 2: Introduction to Alice, 3: The Software-Lifecycle, 6: The Alice Virtual World
Last chance to respond in discussions: 1. Introductions, 2. Reaction to Alice

Week 2: Monday, December 25, 2023 - Sunday, December 31, 2023

Topics this week: read, study, learn each of the items below:

Setting up the Alice Virtual WorldLesson 7: Setting up the Alice Virtual World

Goals:
  • Learn how to change the properties and position of the objects;
  • Learn how to change the properties and position of the camera;
  • Learn to fine tune your ability to position objects in the Alice virtual world;
Objectives: In order to do this you will:
  • Use the handles to turn, roll, and move objects;
  • View the scene from starting view, layout, top, side, or front;
  • Use different camera views to position objects;
  • Change the ground, opacity; add fog, light from above and below;
  • Use one shots to move, turn and roll in design view;
  • Be able to assign vehicles to objects.

Posing Objects in Alice3Lesson 8: Posing Objects in Alice3

Goals:
  • >Pose the 3D characters by positioning subparts such as arms,legs;
  • Create poses using both design tools and code;
  • Positioned subparts using turn and roll;
  • Understand that you cannot move a subpart as that would separate it from its body;
  • Position subparts at design time in the scene editor;
  • Position subparts during execution using code;
  • Understand that each subpart has its own orientation and sense of direction;
  • Realize that the sense of direction for subparts may not be the same as its parent object;
  • Understand that some poses and action may use several subparts.
Objectives: In order to do this you will:
  • Use tools in design mode to move, turn and resize the 3D actors in the design mode;
  • Write code to move, turn and roll the characters;
  • Use tools in design mode to turn and roll the subparts such as arms and legs;
  • Implement OneShots to turn and roll the subparts such as arms and legs.
  • ;
  • Be able to create a pose using several subparts.

Scene Procedures in Alice 3Lesson 9: Scene Procedures in Alice 3

Goal: Learn how to create Scene Procedures and use them for top down design.
Objectives: In order to do this you will:
  • Be able to create a Scene Procedure;
  • Be able to call a Scene Procedure;
  • Use Scene Procedures for Top Down Design;
  • Disable a call to a Scene Procedure to facilitate testing and debugging.

Variables in Alice 3Lesson 10: Variables in Alice 3

Goals:
  • Learn about variables and how to use them;
  • Declare variables;
  • Assign them values.
Objectives: In order to do this you will:
  • Name the different types in Alice;
  • Name variables and objects correctly;
  • Declare a variable and give it an initial value;
  • Use the assign statement to give a variable a new value;
  • Select and use functions to ask the user a question and store the result;
  • Experiment with the tools available in Alice3;
  • Use constants appropriately.

User Input in Alice3Lesson 11: User Input in Alice3

Goals:
  • Learn how to get input from the user;
  • Store those values in variables;
  • Ask the user for information such as his name and age;
  • Use that information later in the program.
Objectives: In order to do this you will:
  • Select and use functions to ask the user a question and store the result;
  • Use functions to get information from the user;
  • Use stored values in the code;
  • Use input from users in the code.

BlackboardDue in Blackboard by Midnight, Wednesday, December 27, 2023

Initial post in discussions: 6. Motivation, 3. Hello World, 4. Storyboard, 5. Variables
First attempt at quizzes: 7: Poses in Alice3, 4: Hello World & Scene Procedures, 5: Variables and User Input

BlackboardDue in Blackboard by Midnight, Sunday, December 31, 2023

Final Project Design: , Step 3: Scenery & Characters, Step 4: Interactions
Assignments: Program 3: A Comic, Program 2: Talk to the User
Last chance to take quizzes: 7: Poses in Alice3, 4: Hello World & Scene Procedures, 5: Variables and User Input
Last chance to respond in discussions: 6. Motivation, 3. Hello World, 4. Storyboard, 5. Variables

Week 3: Monday, January 1, 2024 - Sunday, January 7, 2024

Topics this week: read, study, learn each of the items below:

A Little MathLesson 12: A Little Math

Goals:
  • Learn to do simple math using arithmetic operators;
  • Learn to use a counter;
  • Learn to find a total.
Objectives: In order to do this you will:
  • Use assign and math to assign a value;
  • Create code to do math using just one step;
  • Find a total, percent and other values.

Boolean Expressions: true or falseLesson 13: Boolean Expressions: true or false

Goals:
  • Use Boolean expressions to make comparisons;
  • Use the if/else control structure to create different paths or branches in the code;
  • Perform tasks such as asking the user a question and tell if the answer is right;
  • Gain a deeper understanding of objects in the Alice virtual world.
Objectives: In order to do this you will:
  • Write code to input answers of various types from the user;
  • Apply if/else control structures to tell the user if his answer is right or wrong;
  • Implement a counter to display the score at the end;
  • Use the function getBooleanFromUser to get true or false answers;
  • Write code to compare values and take appropriate actions;
  • Be able to use AND and OR in Boolean expressions;
  • Use the function getHeight to find the taller of two animals.

Creating Animation in Alice3Lesson 14: Creating Animation in Alice3

Goals:
  • Learn use the control structure doInOrder;
  • Learn use the control structure doTogether;
  • Learn use the control structure count (a loop);
  • Learn use the control structure while (a loop);
  • Learn how to combine these control structures to create 3D animation;
  • Learn how to create and edit markers;
  • Use markers in the animation code;
  • Use subparts in the animation code.
Objectives: In order to do this you will:
  • Utilize control structures in your code;
  • Determine which control structures to use for more natural movements;
  • Implement loop control structures count and while to wave, clap, shake the head, and stomp the feet!;
  • Use markers to move an object to a set position.;
  • Edit object markers: add, delete, re-rename, and change the color;
  • Create an animation that uses several subparts, such as walking.;

BlackboardDue in Blackboard by Midnight, Wednesday, January 3, 2024

Initial post in discussions: 7. Poses, 8. Boolean Operations
First attempt at quizzes: 8: Arithmetic and Boolean Operations, 9: Animation

BlackboardDue in Blackboard by Midnight, Sunday, January 7, 2024

Final Project Design: Step 4: Interactions, Step 5: Animations
Assignments: Program 4: Math, Program 5: A Quiz, Program 6: Animation
Last chance to take quizzes: 8: Arithmetic and Boolean Operations, 9: Animation
Last chance to respond in discussions: 7. Poses, 8. Boolean Operations

Week 4: Monday, January 8, 2024 - Sunday, January 14, 2024

Topics this week: read, study, learn each of the items below:

Class Procedures in Alice3: Reusable CodeLesson 15: Class Procedures in Alice3: Reusable Code

Goals:
  • Learn to create class procedures;
  • Create procedures for an object to perform actions such as walk or jump;
  • Understand the advantages of creating procedures;
  • Use the procedure many times and for many objects;
  • Decompose a program into functional subprograms;
  • Use parameters to give the procedure information;
  • Use parameters so that the same procedure can vary in speed, repetions, or distance;
  • Use parameters to pass an object, such as a marker, or another object.
Objectives: In order to do this you will:
  • Write code to animate a character, then convert that code to a procedure;
  • Utilize parameters for flexibility;
  • Decompose a program into subprograms;
  • Make sure that myFirstMethod is mostly calls to procedures and functions.

Calculations and FunctionsLesson 16: Calculations and Functions

Goals:
  • Know how to use builtin functions such as getHeight to retrieve information about an object;
  • Learn to do calculations using functions;
  • Learn to use counters using functions;
  • Learn to find totals using functions;
  • Learn to create functions.
Objectives: In order to do this you will:
  • Build arithmetic expressions using functions;
  • Use variables, functions, and assign statements;
  • Create code to do calculations using multiple variables and steps;
  • Write a function to do calculations;
  • Create a function to get distance to move next to something;
  • Use a loop to add numbers uses a running total: total=total + number.

Random NumbersLesson 17: Random Numbers

Goals:
  • Learn to use random numbers;
  • Understand how random numbers make it possible to create games;
  • Understand how random numbers make the movements of the characters more natural.
Objectives: In order to do this you will:
  • Write code to generate random numbers in 2 different ways;
  • Use random values in your animation procedures so that characters move more naturally;
  • Use loops to create a number guessing game with hints 'too high' and 'too low';

Arrays: Working with lists of objectsLesson 18: Arrays: Working with lists of objects

Goals:
  • Learn to declare and use arrays (lists);
  • Understand how arrays can act on groups of objects together;
  • Learn to create array of different types, including objects;
  • Use the control structures that operate on arrays;
  • Define parallel arrays and name ways to use them;
  • Be able to use arrays of segments.
Objectives: In order to do this you will:
  • Declare a variable to be an array;
  • Create code to assign initial values to an array;
  • Use subscripts or index to access the elements of the array;
  • Utilize loop control structures to process all of the elements of the array;
  • Create and process arrays of different data types, including arrays of objects;
  • Understand the purpose of parallel arrays and ways to use them;
  • Experiment with arrays of segments.

BlackboardDue in Blackboard by Midnight, Wednesday, January 10, 2024

Initial post in discussions: 9. Animation, 10. Calculations and Random Numbers
First attempt at quizzes: 10: Class Procedures, 11: Calculations and Random Numbers

BlackboardDue in Blackboard by Midnight, Sunday, January 14, 2024

Final Project Design: Step 6: Biped Procedures, Step 7: Arrays
Assignments: Program 7: An Exercise Class, Program 8: A Soccer Game, Program 9: Arrays
Last chance to take quizzes: 10: Class Procedures, 11: Calculations and Random Numbers
Last chance to respond in discussions: 9. Animation, 10. Calculations and Random Numbers

Week 5: Monday, January 15, 2024 - Friday, January 19, 2024

Topics this week: read, study, learn each of the items below:

Advanced Techniques: The finishing touchesLesson 19: Advanced Techniques: The finishing touches

Goals:
  • Be able to create more interesting movies;
  • Use vehicles;
  • Download and use sound in your movie;
  • Use billboards to display pictures;
  • Add camera position to scene changes;
  • Change the ground and visibility of objects;
  • Use panels and text;
  • Use asSeenBy to change the scene view;
  • Add transitions to scene changes;
  • Export and import procedures and functions;
  • Add properties to a class
Objectives: In order to do this you will:
  • Implement markers to move to specific locations.;
  • Utilize vehicles to move two objects together;
  • Add sound to an Alice project.;
  • Create billboards and camera positions to change scenes;
  • Use text objects to create headlines;
  • Write code that uses the argument asSeenBy to show movement through the eyes of another object;
  • Create scene procedures and change the ground and visibility of objects;
  • Adding transitions to scene changes;
  • Use camera markers to switch from scene on the left and one on the right;
  • Add properties to a class.

Events: Responding to the Mouse and KeyboardLesson 20: Events: Responding to the Mouse and Keyboard

Goals:
  • Learn to make your program more interactive using events;
  • Understand that an event is something that happens;
  • Add a listener to code what happens when an event occurs;
  • Allow the user to control the action using the keyboard and the mouse;
  • Detect collisions and write the code for what to do when a collision occurs;
  • Use a timer;
  • Create background sounds;
  • Create background animation.
Objectives: In order to do this you will:
  • Create code to implement event listeners for various events;
  • Write code to determine which key on the keyboard was pressed;
  • Write code to determine which object was clicked;
  • Use control structures to specify which actions to take when an event occurs;
  • Use addSceneActivationListener to create a continuous action while other actions take place;
  • Play background music using initializeEventListeners;
  • Write code the uses default model manipulation in event listeners to let the user drag and drop objects at run time;
  • Use collision detection to make something happen when objects collide;
  • Write code for the keypress event; for example typing a letter to make a selection;
  • Add object mover for an object so that the user can move it with the arrow keys;
  • Use the timer event to make an action occur at random intervals.

Final ProjectsLesson 21: Final Projects

Goal: In this unit, you will present your final project to the class
In order to do this you will:
  • Add the final touches
  • create an MP4 movie
  • Present the movie in discussions
  • Submit the a3p file in assignments

BlackboardDue in Blackboard by Midnight, Wednesday, January 17, 2024

Initial post in discussions: 11. Arrays, 12. Advanced Techniques, Present your final project in Blackboard
First attempt at quiz: 12: Arrays, Advanced Techniques, and Events

BlackboardDue in Blackboard by Midnight, Friday, January 19, 2024

Final Project Design: Step 8: Events
Assignments: Program 10: Advanced Techniques, Program 11: Events (optional), Final Project
Last chance to take quiz: 12: Arrays, Advanced Techniques, and Events
Last chance to respond in discussions: 11. Arrays, 12. Advanced Techniques, Present your final project in Blackboard

This web site, and all pages therein, are the sole property and responsibility of Zebra0.com.
It is not endorsed, sponsored, or provided by or on behalf of Montgomery College.