Advanced Topics in Computer Science
2018-2019 · Mr. Merlis

Google Classroom CLOUD9 Login

Course Agenda

.
#DateOverview
846/10/2019
  • 30 minutes for final project programming
  • PRESENTATIONS
Final Project Completion Assignment
836/6/2019 Today
  1. Work on final projects
  2. Discuss downloading of server space (Cloud9 is removing it 6/30)
  3. Homework (Worth 15 points) - Due before 6/10 class starts, emailed to Mr. Merlis.
    /**
    * Create a PHP function that returns the sum of all of the numeric digits in that string. 
    * (Ignore any non-numeric [0-9] character.)
    * Return 0 if there are no digits in the string.  */
    function sum_of_digits($str)
    {
    	
    } // end sum_of_digits
    
    sum_of_digits("lucky1duck3kid2") // return 6
    sum_of_digits("mikey2sally42") // 8
    sum_of_digits("wizard") // 0
    
  4. End of Year Outline
    84 - 6/10: 30 Minutes for Projects, then presentations by Luigi, Tyler, Ryan
    85 - 6/12: Presentations by up to everyone else
    86 - 6/14: Remaining Presentations (if applicable) / discuss grades / your futures
826/4/2019 Final projects.
816/3/2019 Final projects - and see you tomorrow!
805/30/2019 Final projects
795/28/2019 Final projects
785/22/2019 Do Now
Write a PHP function for Scrabble called score_word($str)
Here's an array you can use that tells you how much each letter is worth in a word.
$values = array('A'=>1,'E'=>1,'I'=>1,'O'=>1,'U'=>1,'L'=>1,'N'=>1,'R'=>1,'S'=>1,'T'=>1,'D'=>2,'G'=>2,'B'=>3,'C'=>3,'M'=>3,'P'=>3,'F'=>4,'H'=>4,'V'=>4, 'W'=>4,'Y'=>4,'K'=>5,'J'=>8,'X'=>8,'Q'=>10,'Z'=>10);
Your program should take a string, convert it to all uppercase, and use the $values array to determine the total points of the word.
// Make this work!
$str = "jaguar";
$points = score_word($str); // test it on this page: http://www.thekatespanos.com/scrabble-score-calculator/
echo "$str is worth $points points.";

Homework
Graded Question + Final Project Check-in
775/20/2019 Do Now
Write a PHP function to replace all text in a string EXCEPT for the first and last characters, with asterisks.
ie.
$str = "apple"; --> a***e
$str = "fig"; --> f*g
If less than 3 characters, all chars become asterisks.
Status Check on FPs
765/16/2019 Final Projects
755/14/2019 Continue Final Projects
745/10/2019 Final Projects
735/8/2019 Final Projects
725/6/2019 Go over Exam / Final Projects
715/2/2019
  • Exam on PHP/PDO/Final Projects
  • Continue work on Final Projects
  • 704/30/2019 Mr. Merlis is not here this week but he will be connected on Thursday on the screen.
    He'll be back in the room with you on Monday.
    • QUIZ ON THURSDAY
    • Working on Final Projects
    Quiz Topics
    1. PHP/mySQL Logins (PHP functions of password_hash() / password_verify() )
    2. General PDO syntax (ie. $conn->prepare() / $conn->execute(array()) )
    3. General basic structure of a PDO SQL statement (ie. SELECT col1, col2, col3 FROM TABLE WHERE col4 = :c4 )
    4. Describing your final project!
    5. Per #4, a description of what you are doing AND technical description of code you are using for a specific purpose.
    6. Per #5, be able to simply share code you've written and describe specifically what it is doing.
    694/18/2019 Final Projects
    684/16/2019 Final Projects
    674/12/2019 Mr. Merlis will be back on Tuesday and see you then.
    • Final Projects
    664/10/2019
    • Half Day
    654/8/2019
    • Working on final projects
    644/4/2019
    • Discuss $stmt->lastInsertId();
    • Working on final projects
    634/2/2019 Optional Exam
    Working on final projects
    623/29/2019
    • Working on final projects
    613/27/2019
    • Go over Lab #5 Exam
    • Mr. Merlis will be mtg with you each individually over the next few classes.
    603/25/2019 Begin Final Project
    (Note: Mr. Merlis is traveling back to NY today. You will see him on Wed.)

    General Housekeeping Items
    • Lab #5 tests will be graded prior to Wed's class.
    • You are to start working on your final project. Begin it in a new folder in your Cloud9 server space.
    • Call the folder "final-project" and put it in your ROOT directory (the 'highest level' / making it the shortest URL)
    • Starting Wed, I will begin meeting with you each individually to discuss the specifics of your final project.
    593/20/2019 LAB #5 EXAM: PDO, mysql, Blog Post, etc.
    The exam is a Google Form. There is a PDF version linked at the top of the form (in the READ THIS section). You are welcome to refer there - but be sure to only put your answers IN the form.
    583/18/2019
    • Do this quick demo so you can get someone's location: Geolocation from browser
    • Read this contract REAL CONTRACT for Contracted Website Development Project
    • THINK about what you want to do. Truly THINK. Brainstorm potential ideas. SPEND time on this. What interests you? What do you feel there is a need for? Do you have the next best location-based software idea?
    • STUDY for Wednesday's Exam. It will be about our Lab #5 / (Login System/Blog Posting) AND the related things we learned while doing it (ie. PDO, etc.)
    573/14/2019
    • Exam next Wed on Lab #5
    • Monday - You will complete a worksheet to describe your final project
    • Part 3 extensions Lab #5: Blogger should be done. (If not, this is HW.)
    • Part 2 do today: Lab #5: Blogger. (If not, this is HW.)
    • This ENTIRE LAB is to be done by Monday.
    563/12/2019 Exam next week on Lab #5 / (instead of grading it as we've done a lot of it together)
    553/8/2019 Talked about final projects, fake restaurants, and ZippyReg.
    Next week we will finish Lab #5 / discuss the Lab #5 test / rest of course.
    543/6/2019 Finish Lab #5 (Implement INNER JOINs)
    (No HW)
    533/4/2019 HW: Complete the SAVING of a blog post AND blog_posts.php (showing the entries)
    522/28/2019 Homework: Parts 1 and 3 of Lab #5: Blogger
    512/26/2019
    • Go over Exams
    • General Demo of Select Queries
    502/15/2019
    492/13/2019 EXAM TODAY
    If you have easy access to a printer:
    	please print the exam and write your answers on the sheet.
    else:
    	write your answers on a BLANK SHEET of paper. 
    	Put your info at the top just as it is asked for on the exam. 
    	Number each response.
    
    I'll be back on Friday and will collect your exams/grade them over break. Please be sure to answer all questions/read it fully.
    482/11/2019 Google Maps Quiz on Wed based on Lab 4

    Luigi - Please Guide the class through this tutorial
    You are all to follow along with the tutorial. For the most part, you are 'simply' copying code. Please also REVIEW IT. Look at it and make sense of what the code is accomplishing. If not completed in class, FINISH IT for HW.
    472/7/2019 Announce: RPI Hackathon - March 16
    Exam next WED on Google Maps
    462/5/2019 Quick side note:
    Contract of Note
    452/1/2019
    441/30/2019 HW: Do Part 3 of Lab #4 - Finish It
    431/28/2019 HW: Do Part 3 of Lab #4
    Discuss 2nd semester. (And the D&D exams.)
    Address any PHP questions.
    Go over GMAP Lab 4
    421/16/2019
    411/14/2019
    401/10/2019
    • Continue PHP - by NEXT class, COMPLETE through Assignment #6 (Finish ALL of the Tutorial)
    391/8/2019
    • Drag and Drop Exam
    • Begin PHP Tutorial - for HW, go through it AS FAR AS COMPLETING Assignment #3
    381/4/2019
    • FULL WORKING BLOCK on Lab #3 Extensions
    • Finish Lab #3 Extensions for HW
    371/2/2019
    3612/20/2018
    3512/18/2018
    3412/14/2018 Howdy class! I'm flying back from CO during class today so I won't be connected.
    You are to complete the lab below. Some of you may nearly complete it during class. It IS homework (due Tues)
    You are to follow the instructions and THEN complete 2 of the suggested extensions.
    We will review this on Tuesday (I'll see you then at school.)
    JQuery Lab #2 - JSTasker
    3312/12/2018 Finish JQuery Lab #1
    3212/10/2018
    1. Go over Exam
    2. Check out - Sweet Javascript thingamabob
    3. Introduced Font Awesome (use this instead of Glyphicons)
    4. Homework: Finish JQuery - Lab 1 - due Wednesday END OF DAY
    3112/6/2018 Web Design Exam
    Homework:
    - Work on JQuery Lab #1 (due Wed)
    - Bootstrap - Buttons through (including) Cards
    3012/4/2018

    HOMEWORK

    1. Bootstrap - Colors through (including) Alerts
    2. Study JQuery and Bootstrap for Quiz
    3. Keep working on JQuery Lab #1 (due Wed 12/12)

    JQuery Quiz on Thur
    Bootstrap - Examined
    JQuery - Lab 1 - Dig In - Due next Wednesday
    2911/30/2018 JQuery Short Quiz next Thur.
    2811/28/2018
    1. Finish Assignment 7 Presentations
    2. What We Did Today - Click to View
    3. Homework: update today's code to fully display the interest payments information to the 'paytable' div.
    JQuery Cheat Sheets · One large JQuery Cheat Sheet
    2711/26/2018
    1. Assignment 7 Presentations
    2. Go over final Javascript Assignments - JScript 7 Pizza Store Starter Code
    3. Tuesday Night Demo
    2611/19/2018 Show off our Assignment 7s
    HOMEWORK
    Complete Lessons/Assignments J7, J8, and J9 from here: Javascript Tutorial
    Make sure you read through EACH lesson before doing each assignment. Expect to spend a few hours on this - do NOT wait until the day before class!!
    2511/15/2018
    • Web Design QUIZ
    • Continue with Javascript Assignments - should finish through A6 by Monday.
    • Look at Javascript Assignments 3 and 4.
    • Homework: Finish Javascript Assignments through A6 AND your A7 from HTML. We will show off our A7 on Monday.
    2411/13/2018 Finish CSS / Begin Javascript
    • CSS Review - demo what you did
      Discuss HOW we will use CSS going forward.
    • Start Javascript Assignments - A1 and A2 together - then on your own
      (You don't need to 'turn these in' - just do them.)
    • Basic HTML Quiz on Thur
    • Homework: Finish Javascript Assignments through A4.
    2311/8/2018
    • Review Crytogram Test
    • Show off your CSS Pages (your HW that was due for today)
    • CSS Tutorial - HW - Look at it through CSS Opacity
    • Your Final (Basic) Web Design Assignment - Due Mon, 11/19
    • Create a7.htm as a page that combines all you have learned about web design thus far.
    • PLAN YOUR PAGE OUT by spending several minutes THINKING about what you want to showcase.
    Next week we meet Tues and Thur. (Monday is Veterans Day.)
    2211/6/2018 HOMEWORK: CSS Tutorial through/including PADDING.
    TRY OUT MUCH OF WHAT YOU READ. Experiment on your "table-bs.htm" page by modifying it to include more tags and apply CSS to them.

    • CLOUD9 - Sign in.
    • Tables with Bootstrap
    • CSS Tutorial - Discuss Flow
    • Your Final (Basic) Web Design Assignment*
    • Create a7.htm as a page that combines all you have learned about web design thus far.
    • PLAN YOUR PAGE OUT by spending several minutes THINKING about what you want to showcase.
    * Due date TBD.
    A Look Ahead (Now to December Break)
    1. Learn more about CSS
    2. Complete your independent A7
    3. Begin Javascript
    4. A closer look at Bootstrap
    5. JQuery Labs - These are a doozy! :)
    In 2019, we'll jump into PHP/mySQL and plenty more fun stuff!
    2111/2/2018 General Review of tables + Assignment 6 for HW
    2010/31/2018 Happy Halloween!
    I'm sorry I can't be with you today. Assignment #4 should be done. You are to finish that if not yet done and complete Assignment #5 (due Friday.)
    I WILL see you then!
    1910/29/2018 Cryptogram Lab Test
    You may use a computer for reference in all ways EXCEPT FOR EXECUTING CODE.

    (A2, A3 are due TODAY. [No later than 11:59PM.])
    I'll be joining about 11:30AM via WebEx.
    Assignment 4: Images
    1810/25/2018 YOUR HOMEWORK IS A2, A3, and study for Crypto Lab.

    Crytogram Lab Test on Mon
    1710/23/2018 Test on Crytogram Lab on Mon, 10/19.
    1610/19/2018
    • Worked on Lab #6 - Combination Lab - DUE TUESDAY BEFORE YOU GO TO BED.
    • ZippyReg.com practical example of Combinations (multiple race selection at a single event)
    • Looked at binary arithmetic and how it relates to combinations - Class Notes
    • FileWriter demo
    1510/17/2018 General programming day / catch up with Mr. M.
    Hairy Gorilla Half...
    1410/15/2018 Lab 6 due date moved to Fri, 10/19.
    Continue work on Lab 6.
    Wed will be a general programming day/Mr. M present to assist individually/collectively.
    Friday will either be a new lesson or continued programming based upon where we generally are.
    1310/11/2018 Finish Lab 5 and work on Lab 6.
    Email Mr. Merlis with any questions.
    1210/9/2018
  • I am capable.
  • Thur and Monday: Programming Days. Mr. Merlis returns next Wed.
  • Give back tests
  • Big O - Sorts, etc. Review
  • Lab #5 - Permutation Generator - Due Thur, 10/11
  • Lab #6 - Combination Lab - Due Fri, 10/19
  • 1110/4/2018 Programming Day
    (A few students must finish test.)
    • Lab #5 - Permutation Generator - Due Thur, 10/11
    • Lab #6 - Combination Lab - Due Date TBD (Leaving this here / will discuss it on Tues.)
    1010/2/2018
    99/28/2018
    • TEST #1 - JAVA SYNTAX/LOOPING BASICS
    • Lab #3 due by MIDNIGHT tonight.
    • Start Lab #4 - Additive Prime Lab - due Tues, 10/2 @ 11:59PM
    89/26/2018
    79/24/2018 Written Test on Friday - Basics of Java
    69/20/2018 PROGRAMMING DAY
    I will be here on Monday. At that time we will review Lab #2 (the Triangle Lab, etc.) and address any other questions on Lab 1.
    • Finish Lab 1 - Part 3 (Turn in before midnight tonight)
    • THEN - work on Lab 1 - Part 4 (Due by end of Monday)
    • THEN - Move to Lab #3 - Cryptogram Lab*
    *IF YOU FINISH Lab 3, re-work your algorithm that 'jumbles' the letters to do so COMPLETELY RANDOMLY.
    Such that (for example) A becomes a G, B becomes a T, C becomes a B, etc.
    (If somehow you finish that, solve world hunger with the remaining time in the block.)
    59/18/2018
    • DO NOW - Take up to 20 minutes - FizzBuzz
    • Lab #2 - Short Looping Exercises (Take up to 25 minutes to do this)
      These are NOT necessarily easy. Take the time to think them through. We will discuss in class. (Not graded.)
    • JavaDoc - Quick Review
    • Continue Lab 1 - Part 3 due Thur / Part 4 due Mon 9/24.
    • Lab #3 - Cryptogram Lab - Due date TBD. (This is for students done with Lab 1.)
    49/14/2018 Continue working on Lab 1 - Part 3. Use this to test it.

    Ready to keep going?
    Lab #2 - Short Looping Exercises (Take up to 30 minutes to do this)
    These are NOT necessarily easy. Take the time to think them through.
    39/12/2018
    • DO NOW - 'Quickly' complete these 2 looping problems
      countEvens
      bigDiff
    • Continue Lab 1 - Part 2 MUST be done before Fri's class. Part 3 is due Thur, 9/20. Part 4 is due Mon, 9/24.
    29/10/2018
    • Give out Macbooks / Update Student Survey - Tell Mr. Merlis the Macbook you have
    • Try Codiva
    • Finish Lab 0
    • Begin Lab 1 - Part 1 MUST be done before Wed's class.
    19/6/2018

    Class Rules

    if(!you.respectful())
    	you.getOut();
    
    if(you.hasFood() || you.hasDrink())
    	if(you.hasDrink() && you.drinkType().capped())
    		you.canStay();
    	else
    		you.getOut();
    	
    if(!you.havingFunInThisClass())
    	you.getOut(); // :)
    

    Course Resources
    As we move through the material, commonly used websites will be listed here for quick reference.