Week of May 20 - 24, 2019
Due by May 23rd, 2019!!!!!
(don't forget 1 program 500++ lines)
(also include inheritance and poly)
All students must submit this folder.
Yes you need a slide show showing:
1) Your name, period, and what you
did this marking period.
2) Certificates if you did codecademy
3) Slides showing the TEKS. Slides
should show which TEK your code
is demonstrating. Be clear. The
code should be from a program
that you wrote!
4) Slide show minimum of 10 pages.
5) A minimum of 500 lines of code!
Yes you also need to show your code.
If your code is written in Java, C++, or
Python, you need to turn in your source
code and supporting data files required
so that I can run it (and images).
If you wrote in some other language,
then turn in only your source code,
and then show me the run of your
program.
Some Big Changes for 2nd Semester:
* Only 20 hours for codecademy (or others)
* A single program of at least 500 lines of code
* Top Languages according to Stack Overflow
Javascript, Python, Java, C#, C++, PHP
May 20 Monday - Lab
May 21 Tuesday - Lab
May 22 Wednesday - Lab
May 23 Thursday - All projects are due!!!!!!!!!!!!!!!!!!!!!
May 24 Friday - Exams 3rd and 7th
3rd Period: 8:50am - 10:50am (early release 10:20am)
Homeroom: 10:55am - 11:15am
7th Period: 11:20am - 1:20pm (early release 12:50pm)
Reminder: You must write lots of code!!!
Those of you who are learning Python on codecademy.com,
see my Python assignments in the PythonStuff folder on the
student shared. The Learn Python course is only 10 hours!
Some Quick Important Notes:
* Do NOT use absolute path statements for images, dat files, etc.
* Relative paths within your folder is ok, but not path statements.
* I need to run your program (otherwise you must show me your program).
* You need to include data files and image files. It should run from your folder.
* If you are doing really simple stuff, your grade will not be very good.
* The Learn Python course is only 10 hours. Not nearly enough time spent.
* You need to write programs that are more than 10-50 lines.
* Try writing 800-2000 lines of code in your program.
* If you are on a team, your code needs to be marked as to who did what
* Many did not show classes completely. You must include:
instance variables, constructors, getter and setter methods, and other methods
(with parameters). You also must demonstrate creating an object that you made,
and calling methods with your reference variable. It must also solve a problem or
be useful.
Example:
Student student = new Student("Tom", 12);
student.setSemesterGrade(90);
student.print();
Some Quick Important Notes:
Do NOT use absolute path statements for images, dat files, etc.
Relative paths with in your folder is ok, but not path statements.
I need to run your program (otherwise you must show me your program).
See below for more ideas and web sites for help.
Some of my former students are telling me:
At UT and most colleges, all assignments have
a final deadline. They then turn off the lights and
the party is over, or maybe just beginning because
you are out of computer science.
public final dueDate = "12/15/2017 11:59:59";
ONLY 1/3 pass the course.
They are NOT assigning AI projects, and all this
other fun stuff. If you can't code at a high level,
you will be riding in a google car, but you won't
be programming it!
Colleges want you to be good at programming.
Take advantage of this NOW!
*** Learn C++ well! (including classes)
*** Learn Java well! (including classes)
*** Learn Python well! (including classes)
*** Learn Javascript well! (including HTML, CSS, PHP, MySQL)
*** Learn Swift and Xcode well! (write iPhone and iPad apps)
*** Learn how to do UIL style problems well!
www.codecademy.com
*** Learn recursion well! (and 2D recursion)
*** Learn how to write your own ArrayList class,
LinkedList class, Queue class, Priority Queue class
Tree class, TreeSet class, HashSet, TreeMap,
HashMap,etc.
***
You must be on task
each and every day,
or you will lose
assessment points.
This marking period requires
at least 35 hours. All code must
be submitted to me for credit,
except for code academy code.
(see more below).
You may choose your own project or follow my path.
You may choose to follow my path of study or select a project(s) that
you would like to work on. If you choose your own project, it must be
heavy on the programming. You must also produce ALL the code that you
wrote for me. For example, let's say you want to learn a new programming
language like C++. Your project must contain several programs that you
write that will demonstrate your understanding of C++. You can't just say
at the end of the grading period "Oh, I have been studying C++". All of your
code should be saved in files and turned in as part of your project. A list
of requirements is shown below.
You will need to create a folder with:
Name, class period, marking period
Example: lynnrosier-6th-MP1
Your slideshow and source code should be
in this folder.
You will copy your folder onto my
flash drive.
Your code must include the following concepts:
(All code should solve a problem)
These concepts MUST BE SHOWN on the
slide show that you turn in, and in files that
I can compile and run. Each slide that shows
a TEKS objective should be marked with the
TEKS #.
All code must be in files that
I can compile and run!
Otherwise you must show me ahead of time
the run of your program.
1) Looping
This loop must contain code and do something useful.
You must include BOTH a single loop and a nested loop.
You should be solving some type of problem.
A loop that simply uses System.out.println(); is NOT enough.
2) Data Structures (Arrays, ArrayList, LinkedList, Maps, Sets, ...)
You must include:
1) create a data structure
2) assign values to the data structure
3) access values of the data structure
4) solve some type of problem using the data structure
3) Input and Output
4) if else if
5) Methods (functions, procedures, modules, ...)
You must write methods with parameters and call methods with parameters.
6) Classes (creation of objects and use of objects)
You must write your own classes and include:
1) instance variables:
2) constructors (or methods that initialize instance variables)
3) getter and setter methods
4) methods (with parameters)
You must create (an instance) an object and include:
5) a reference variable that refers to the object
6) a call to a method with parameters
7) a call that modifies the value of an instance variable
8) a call that retrieves the value of an instance variable
9) a call that retrieves some useful data other than a getter method
Some other things to think about and do next marking period:
1) Learn C++ with pointers (learn it well)
2) Write your own pointer classes
(LinkLists, Queues, Sets, Maps, etc.)
3) Learn Recursion very well (especially 2D stuff)
Start by writing loops recursively
Move on to mazes
4) Learn Python very well
5) Write large programs (20 pages++) and write
to files (and read from files)
6) Solve UIL, etc. type problems
7) Don't copy. It won't help you in college!!!
They are smarter than you are, and they have
lots of TA's and software to help them!
8) Practice good programming techniques!
Use good names (identifiers), indent your code,
comment your code, etc. Get good at coding!
They expect that you can write a lot of good code.
Common Errors with Projects
========================
1) Folder name did not contain:
name, marking period, and class period
2) Folder did not contain source code
3) Folder did not contain slide show
4) Folder had the entire project (NO-NO-NO)
Only give me source!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5) No name on the slide show
6) Nothing about what you did this marking
period on the slide show.
7) Classes not sufficiently covered or not
covered at all on the slide show. You must
write your own class, new it, and use it. This
is not demonstrating the use of another class
that is in some library!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5) Lack of sufficient code.
6) Late. Several submissions.
7) No source code was submitted for website learning
Some NOTES on projects:
*** Create a folder with your name,class period, marking period.
You will put your slide show and source code in the folder.
DO NOT INCLUDE PROJECT FOLDERS, only the source code files.
You will then create a zip file with your name on it, marking period, and
class period, and email the zip file to [email protected]
This must be done during class, where I will verify with you that I have received
your project. Late submissions will lose points (1 point for one day, 2 points for
the second day, etc.)
*** MINIMUM OF 10 SLIDES (1 point per useful slide)
*** The source code on the slides MUST BE READABLE!
*** SHOW ME ALL OF YOUR CODE in text files (.py, .java, .cpp, etc)
I do not want the project folder for large projects, just the source code.
*** If you do an iphone, Android, JetBrains, Arduino, non-compiler libraries, etc.
you will need to show me your working app before the deadline.
*** SHOW CLEARLY WHAT YOU DID AND DID NOT WRITE (pre-generated code)
*** CLEARLY SHOW TEKS CODE SNIPPETS IN YOUR POWERPOINT
(the source code files must also be turned in, unless it comes from codecademy,
in which case you must include your certificates with your name on it)
TEK #1 Loops
TEK #2 Data Structures
etc.
*** You may only do up to 20 hours of code academy or similar coding sites
such as Euler, etc.
*** You must have 15 hours for a coding project where you have demonstrated
your ability to write a larger program(s).
You must be on task
each and every day,
or you will lose
assessment points.
This marking period requires
at least 35 hours. All code must
be submitted to me for credit,
except for code academy code
(see more below).
You may choose your own project or follow my path.
You may choose to follow my path of study or select a project(s) that
you would like to work on. If you choose your own project, it must be
heavy on the programming. You must also produce ALL the code that you
wrote for me. For example, let's say you want to learn a new programming
language like C++. Your project must contain several programs that you
write that will demonstrate your understanding of C++. You can't just say
at the end of the grading period "Oh, I have been studying C++". All of your
code should be saved in files and turned in as part of your project. A list
of requirements is shown below.
Your code must include the following concepts:
(All code should solve a problem)
These concepts MUST BE SHOWN on the
slide show that you turn in, and in files that
I can compile and run. Each slide that shows
a TEKS objective should be marked with the
TEKS #.
Inheritance and polymorphism is required
for the 4th marking period! All code must
be in files that I can compile and run!
Otherwise you must show me ahead of time
the run of your program.
1) Looping
This loop must contain code and do something useful.
You must include BOTH a single loop and a nested loop.
You should be solving some type of problem.
A loop that simply uses System.out.println(); is NOT enough.
2) Data Structures (Arrays, ArrayList, LinkedList, Maps, Sets, ...)
You must include:
1) create a data structure
2) assign values to the data structure
3) access values of the data structure
4) solve some type of problem using the data structure
3) Input and Output
4) if else if
5) Methods (functions, procedures, modules, ...)
You must write methods with parameters and call methods with parameters.
6) Classes (creation of objects and use of objects)
You must write your own classes and include:
1) instance variables:
2) constructors (or methods that initialize instance variables)
3) getter and setter methods
4) methods (with parameters)
You must create (an instance) an object and include:
5) a reference variable that refers to the object
6) a call to a method with parameters
7) a call that modifies the value of an instance variable
8) a call that retrieves the value of an instance variable
9) a call that retrieves some useful data other than a getter method
Example: (don't use this one)
You may need several slides to show this.
It also must appear in a working program.
public class Employee {
// # 1
private String name;
private double grossSalary;
// #2
public Employee(String name,
double grossSalary)
{
// show this as well
}
// #3 show your getters and setters
// #4
public getNetSalary(double deductions)
{
// Show the code
}
}
// main program
// #5
Employee emp = new Employee("Tom", 55000);
// # 6, 7
emp.setName("Tom Baker");
// # 6, 8, 9
out.println(emp.getName() + " " + emp.getNetSalary(22000));
7) Inheritance, polymorphism is required
as a separate program. The program must be
your own program, and it must solve some
type of problem. The classes involved must have
constructors, getter and setter methods, and other
methods. Your reference variable must refer to the
super class!!! (This will only be required for the
4th marking period)
***** Your code must compile and run *****
You will need to show me the run if you
are using projects.
***** You must send all of your code to me in a zip file*****
***** You must send your powerpoint slides in the same
***** zip file
***** These must be in a folder with your name on it,
marking period, and class period.
*****
***********************************************************************
***********************************************************************
***********************************************************************
You must turn this in to me at the end of each marking period. All code and a powerpoint slide show.
***********************************************************************
***********************************************************************
***********************************************************************
1) You must save your code and turn it in to me
at the end of each marking period!!! All of your code!!
It must be saved as a text file (.java, .py, etc.)!
It should NOT be saved in a word document!!!!!!
(You may also turn in a copy of your completed
lessons page if you are using codecademy.com.
Your name must be on the certificate!!!!!!!!!!!!!!!!
This should show what you have completed and what
you have partially completed with your name on it!)
You may only take a course one time for credit.
(Your code must compile and your program must work)
2) You will also need to create a
slide show and turn it into me
at the end of each marking period.
The slide show presentation must be at least 10 slides. It should include:
1) What your project is about (this should be specific as to what you did
for this marking period).
(i.e. what did you do this marking period and show the code files)
If you did code academy, you must list which lessons you did for
this marking period. You cannot include what you did in a previous
marking period. You may only take a course one time for credit.
2) What programming language(s) you used, libraries, open source, etc.
You should document what you did NOT write or what you DID write.
You will not receive credit for pre-generated code or library code.
3) Some screen shots of your code that you wrote and the output.
All of your code also needs to be saved in a file(s) and turned in,
unless you did code academy and included certificates with your
name on it. These screen shots should demonstrate the required
language concepts (loops, data structures, etc. and be clearly marked).
NO URL'S WILL BE ACCEPTED.
You must include your source code.
4) You should also include code in your slide show that documents
the required language concepts, as well as saving these files in
.java files in your projects folder.
6) If you are a part of a group, each member must turn in code that you wrote as well (up to 3 max).
Your completed code and your slide show should be saved in a folder with your
name(s) on it, marking period, and class period. This must be turned in at the
end of each marking period. The source code should be saved in a text file
(.java .cpp .py etc.)
***********************************************************************
***********************************************************************
***********************************************************************
***********************************************************************
***********************************************************************
***********************************************************************
Some ideas for self projects:
* Learn another language (C++, Python, C#, Javascript, PHP, MySQL, etc.)
* Write your own apps for the iPhone/iPad or Android
* Create web pages using html, css, and javascript (php and MySQL)
* Write games in html5 and javascript
* Work UIL contest problems
* Create your own pc or mac programs (GUI)
* App Inventor 2 (for Android apps)
* Javelin Android Apps
* Zero Robotics
* Program math solutions using MatLab (and LaTex)
* Write a LinkedList class, Queue class, PriorityQueue class,
Binary Tree class, etc. (All from scratch) (these are typical
college labs).
And YES, you may switch projects during the school year!
Just let me know!
For students wanting to follow my path:
We will eventually be updating and writing code for real life websites!
We handle the Senior Career Day website, Senior Service Day website,
game websites for teachers, inventory websites, the CTE website, and
several other club websites. Unit 1 will help you prepare for this.
Unit 1
* Web pages with html, and css
* Web pages with html, css, and javascript
* Web pages using php
* Web pages using php and a MySQL database
(www.w3schools.com is a good tutorial website for beginners)
www.codecademy.com is great for mini courses,
however, you may only submit a maximum of 20 hours.
*** Also, a maximum of 20 hours for Project Euler, and other
similar web projects where the programs are relatively short.
*** You will be required to write a separate program which includes
at least 10 hours of coding, unless you are already coding a
large scale program.
You will need to show me your completion page and take a snapshot of it!
This should be included in your folder that you turn in for me.
Your name must be shown on the snapshot of your completion page.
http://www.w3schools.com
http://www.leveluptuts.com/tutorials
http://www.codecademy.com
Online interactive websites to learn new languages and improve your skills:
http://www.hongkiat.com/blog/sites-to-learn-coding-online/
www.pythonanywhere.com
https://c9.io/ (cloud 9 programming environment)
programmerr
hackerRank
*******************************************************************************
The following website has a list of some of the best coding resources.
http://www.internetproviders.com/shortcut/best-coding-resources/
**************************************************************************************************************
And more to come ...
*****
*****
*****
The Computer Science programming team won 1st place
for the Regional UIL Computer Science contest on
Friday and Saturday, April 7-8, 2017, in San Antonio.
Team Members:
----------------------
Kevin Fang (won 4th place Individual)
Owen Graves (won 5th place Individual)
Matthew Anderson (won 5th place individual)
Ryan Zhou
Congrats!
*****
*****
*****
The Computer Science programming team won 1st place
for the district UIL Computer Science contest on
Tuesday March 21, 2017. We will be going to the
UIL Regional Computer Science contest on
Friday, April 7th, 2017.
Team Members:
----------------------
Kevin Fang (also won 1st place Individual)
Owen Graves (also won 4th place Individual)
Ryan Zhou (also won 4th place individual)
Matthew Anderson
Congrats!
*****
*****
*****
Results are in for the
Best of Texas UIL Programming Contest
=================================
Senior Division - Round 1
1st Place Tie - Kevin Fang and Owen Graves
Senior Division - Round 2
2nd Place - Matthew Anderson
4th Place - Ryan Zhou
5th Place - Kevin Fang
8th Place - Owen Graves
Senior Division - Round 3
1st Place Tie - Kevin Fang and Owen Graves
3rd Place - Matthew Anderson
7th Place - Ryan Zhou
Freshman Division - Round 3
3rd Place - Eli Bradley
*****
*****
*****
*****
***** Congrats to Kevin Fang, Owen Graves, and
***** Matthew Anderson at HP CodeWars.
***** 4th Place/59 teams from all around Texas.
*****
Last year's contest winners!
=======================
Kevin Fang placed 6th at Regionals in Waco.
Congrats!
Owen Graves got 1st place for Juniors in the Best of Texas programming contest! Kevin Fang got 3rd place for juniors in the Best of Texas contest.
The programming team got the top team award for 6A (Owen Graves, Kevin Fang, and Ryan Zhou).
Congrats!
The WHS UIL Computer Science team of Kevin Fang, Ryan Zhou, Owen Graves, and Matthew Anderson won 1st place at the UIL Computer Science District contest at Westlake High School on Friday, April 1st, 2016.
They scored first in the programming contest and first overall. Also,
they grabbed the first 3 positions in the individual contest.
1st - Kevin Fang
2nd - Ryan Zhou
3rd - Owen Graves
Congrats!
Kevin Fang, Owen Graves, and Matthew Anderson got 2nd place Saturday, Mar. 5th, at the HP Austin Codewars Computer Programming Contest. Ryan Zhou and Manuj Shah got 4th place!
HP Codewars is a large contest with schools
from all over the state of Texas.
Congrats!
Owen Graves got 3rd place Saturday, Feb. 27th, at the Vandegrift High School
UIL Computer Science contest in the individual written contest.
The team of Owen Graves, Ryan Zhou, and Matthew Anderson
got 3rd place team overall in the team programming event.
Congrats!
Ryan Zhou got 1st place Saturday, Feb. 20th, at the Westwood High School
UIL Computer Science contest in the individual written contest.
The team of Ryan Zhou, Matthew Anderson, and Saarila Kenkare,
got 1st place team in the written event, and they got 2nd place overall in the team programming event.
Congrats!
Wimberley UIL Contest was Saturday, Feb. 13th, 2016.
The team of Owen Graves, Matthew Anderson,
and Kevin Fang won first place
overall at the Wimberley High School
UIL Computer Science contest on Saturday, Feb. 13th, 2016.
Kevin Fang scored 2nd in individuals,
and Owen Graves took 4th place.
Congrats!
Hendrickson%2
UIL Contests for 2017-2018
*** Each team must bring a computer with wifi and
a surge protector. (one computer per team)
*** Bring pencils and pens
*** Bring paper
UIL Contest at Jack C. Hays HS
Saturday, March. 10th
Congrats to:
Team:
1st -Joseph Jin, Steven Xu, Alex Meyer
Individuals:
3rd - Steven Xu
5th - Joseph Jin
Westlake Team competes in outer space ! Literally !
The Westlake Team participated in Zero Robotics, a programming competition/contest hosted by MIT and sponsored by companies like NASA where objects called SPHERES are programmed to complete a certain mission autonomously. The competition starts online and after several phases of virtual competition in a simulation environment that mimics the real SPHERES, finalists are selected to compete in a live championship aboard the ISIS. Out of over 200 teams, our Westlake team not only went all the way to the finals but placed in the top 6 as well! Please congratulate the following individuals and mentor: Lynn Rosier (mentor), Viren Velacheri (captain), Nikhil Gumma, Geethika Hemkumar, Lillian Sun, Angela Fei.
Westlake-ARM UIL Contest
======================
March 3, 2018
Congrats to Eli Bradley, Joseph Jin, and Alex Meyer
for 2nd place out of 24 advanced teams!
Saturday, April 21st, 2018
Texas Advanced Computing Center, 10100 Burnet Road, Austin, TX 78758
Congrats to our 1st place team of Joseph Jin, Eli Bradley, and Alex Meyer.
Congrats to our 2nd place team of Vaishnavi Addala, Olympia Walker, and Steven Xu.
Congrats to our 1st place Individual winner Vaishnavi Addala.
Congrats to our 3rd place Individual winner Joseph Jin.
UIL Contest at Jack C. Hays HS
Saturday, Jan. 27th
Congrats to:
Team:
1st -Eli Bradley, Joseph Jin, William Wang
2nd-Vaishnavi Addala, Vincent Zheng, Alex Meyer
3rd -Olympia Walker, Lance He, Steven Xu
Individuals:
2nd - Joseph Jin
3rd - William Wang
5th - Vaishnavi Addala
6th - Olympia Walker and Lance He
UIL Contest at Hendrickson
Saturday, Feb. 3rd
Indeed Jan. 6th, 2018
=================
Congrats to Joseph Jin, Lance He, and
Steven Xu for getting 4th place at the
Indeed Computer Contest.