mdinfotech.net  






Info

AP Computer Science A continues on from material taught in Computer Science 12 and emphasizes programming methodology with a concentration on problem solving and algorithm development. It is meant to be the equivalent of a first semester university course in Computer Science. Using an object oriented approach in the programming language Java, students will use fundamental data structures, logic, and formal methods in solutions to small and large scale problems.

The course is offered in Semester 2, from February to June. Students will attend class 5 days a week in the computer lab in room 203. Concepts will be introduced and immediately put to use. I firmly believe the only way to learn to program is to program. I encourage students to actively participate in classroom activities and drive learning through questioning and experimentation. Students in my class are encouraged to work collaboratively and to form study groups. It is expected that everyone will write the University of Waterloo's Canadian Computing Contest in mid-February.

Prequisite: Computer Science 12.

TopicsComputer LabClassroom Rules

Evaluation

Labs: 40%
Quizzes: 10%
2 Unit Exams: 30%
Year End Project: 20%



Topics
  • Object Oriented Programming in Java
  • Variables, Constants, Input/Output
  • Simple Programs & Data Types
  • Parameters, Modularity, Value Parameters, Functions
  • Control Structures, Boolean Logic
  • Program Design
  • Arrays
  • Text Files
  • Algorithms & Recursion
  • AP Test preparation
The Computer Lab
  • The classroom computers are PC's running Windows 10 with 8 GB of RAM.
  • Classroom Computer Use: The lab computers are to be used for class projects ONLY during class time. Students who use computers for activities that are not class related (email, surfing, homework for other courses, chat, games) will lose computer privileges.
  • Computers at Home: Most software is available online for free download for Windows machines. Therefore most students will be able to work on course material from home. Students without a computer, running Linux, or with a MacIntosh computer, may need to make use of classroom and school computers outside of class time. The IT lab will be open most lunch hours (except Thursday) and Flex Blocks.
How to be Successful in a Programming Class
  • Make the most of class: This course is not an easy course and needs lots of patience. If you fall behind in programming, it’s very hard to catch up.The most important thing is to get help when you need it. Pay attention to the lesson. Don’t hesitate to ask the teacher if you don’t understand any of the presented items. You have to do more than just listen in class.
  • Book a lunch appointment with Ms. Wear : If you utilize class time and still need extra assistance, contact Ms. Wear to book a lunch time appointment.
  • Learn from mistakes: The key to understanding is using each error as a stepping stone and using each error to learn. Figuring out WHY the error is present will force you to understand the reasoning.
  • Learn from others: Working with other people also helps because what one person doesn’t understand, another person might know how to do.
  • You have to program to learn: After solving a problem, ask yourself how you could change it and play around with it. Experimenting with code is the best way to learn. By playing around you figure out and remember how to do things. Make deliberate mistakes to see output.
  • Have a plan: 1. read through the descriptions of the program you are going to do, make sure you know what you are suppose to do. 2. make a flow chart to help you get clear about the program. 3. write the program step by step. 4. don’t be frustrated if you cannot compile the program, check each line carefully and think of what kind of mistake will be made. 5. if you cannot find out your mistakes, go and find someone to help you, or discuss with your friends. Also, when writing the program test each block of code at a time. If errors are to occur then the programmer would know which block to look in for the errors.
  • It's OK, you are just a beginner: The main thing I would suggest is to make sure you ask questions in lectures and not to worry about looking stupid for not knowing. Everyone is at different levels, there are bound to be other people that know less or the same as you. If ever you feel frustrated, just know that everyone else has been there too.
  • Hang in there: Don’t give up! Ask peer tutors for advice, read books/tutorials on the topics. Re-read parts you don’t understand. Don’t panic! Panicking is the worse thing you can do. As long as one has the desire to learn, they will eventually understand, slowly but surely.
  • Mistakes are good: You should not get upset or feel inferior if you make a mistake. Try, try again. The more programs you write and the more mistakes you make, the more you learn.
  • Don't be intimidated: Do not be afraid to ask questions in class as other students in the class may be wondering about the same thing.
  • Programming can be fun: Learning something new is a challenge, but it is also an opportunity. Programming is fun when you start to know it, especially when you can run your program successfully.
Classroom Rules
  • Arrive Before the Bell: Class begins at the first bell. Late arrivals can mean a missed quiz, missed material, and be a disruption for the rest of the students. If class has started when you arrive, come in quietly without disrupting the class.
  • Attendance is mandatory. A lot of material is covered each day and most students find it difficult to catch up even after missing just one class. In all group projects, your group depends on your commitment to the project in the class.
  • Missed Classes: Students are responsible for all information covered in class. If a class is missed, it is up to the student to check the mdinfotech.net and Google Classroom for resources and assignments and to get notes and assignments from another student. It is beneficial to get the contact information of students in your class for this purpose.
    * Missed Quiz:
    • if an absence is unexcused, the student will receive a score of zero
    • if an absence is excused, the quiz will not be counted toward the final grade
    * Missed Skills Assessment:
    • if a skills assessment is missed, it will be made up on the next skills assessment
    * Missed Test:
    • if an absence is excused, the test will be written on the first day that the student returns to class
  • Cell Phones must be on silent and in your bag. On occasion, cell phones may be used to take photos of notes and demonstrations in class. For future reference, these images may only be accessed from an online resource such as Google Drive.
  • Food and Drink Period A-D students are not allowed to bring food and drink into the lab. Please eat/drink in the hallway before/after class.
  • Assignments: All assignments are to be complete and handed in on time. Most assignments are posted on the web site. Late assignments will be accepted until the solutions are given or the unit ends, whichever comes first. Some assignments, if submitted AFTER it has been marked and returned to the class, or AFTER solutions have been posted, will be subject to a 50% penalty.
  • Cheating: If a student submits work that they did not write a mark of zero will be given.
  • Homework: Students will not always be able to complete assignments in class time. The lab will be open at least most lunch hours and during Flex Block for extra computer time. In addition, work may be completed at home.
  • Notes and handouts are to be kept in a binder or notebook in an orderly fashion.