This lesson shows how to compile, link, and run a simple OpenCL kernel that computes the sum of two vectors on OpenCL device like CPU or GPU.
Let us start with kernel description using OpenCL C language. The idea is to add two uiVectorWidth-element vectors in global memory, vectorIn1 and vectorIn2, and store the result to the vector vectorOut. The kernel code is shown below.

A work item is an instance of the kernel and several work items can be executed in parallel. The function call "get_global_id(0)" returns the identifier of the processed work item. In order to avoid computation and problems with out of bound values the identifier is checked for too large values. The actual addition is straightforward.
OpenCL kernel needs to be passed to OpenCL device and therefore, we need a JavaScript utility function for finding and loading the kernel according to given id. The function shown below returns the kernel source code.
function loadKernel(id){ var kernelElement = document.getElementById(id); var kernelSource = kernelElement.text; if (kernelElement.src != "") { var mHttpReq = new XMLHttpRequest(); mHttpReq.open("GET", kernelElement.src, false); mHttpReq.send(null); kernelSource = mHttpReq.responseText; } return kernelSource; }
The function CL_vectorAdd represents an OpenCL host program. Before proceeding with actual host program let us first check that WebCL is installed and generate two 30-element TypedArrays to act as inputs for vector addition. The source code is shown below.
function CL_vectorAdd () { // All output is written to element by id "output" var output = document.getElementById("output"); output.innerHTML = ""; try { // First check if the WebCL extension is installed at all if (window.WebCL == undefined) { alert("Unfortunately your system does not support WebCL. " + "Make sure that you have both the OpenCL driver " + "and the WebCL browser extension installed."); return false; } // Generate input vectors var vectorLength = 30; var UIvector1 = new Uint32Array(vectorLength); var UIvector2 = new Uint32Array(vectorLength); for ( var i=0; i<vectorLength; i=i+1) { UIvector1[i] = Math.floor(Math.random() * 100); //Random number 0..99 UIvector2[i] = Math.floor(Math.random() * 100); //Random number 0..99 } output.innerHTML += "
Vector length = " + vectorLength;
Hosting OpenCL computation starts with reserving the required resources. WebCL context is created using the default device of the first available platform. In addition, we will need three buffers; two read_only buffers for the inputs and one write only buffer for the output. The size for the buffers is given as bytes.
// Setup WebCL context using the default device of the first platform var platforms = WebCL.getPlatformIDs(); var ctx = WebCL.createContextFromType ([WebCL.CL_CONTEXT_PLATFORM, platforms[0]], WebCL.CL_DEVICE_TYPE_DEFAULT); // Reserve buffers var bufSize = vectorLength * 4; // size in bytes output.innerHTML += "
Buffer size: " + bufSize + " bytes"; var bufIn1 = ctx.createBuffer (WebCL.CL_MEM_READ_ONLY, bufSize); var bufIn2 = ctx.createBuffer (WebCL.CL_MEM_READ_ONLY, bufSize); var bufOut = ctx.createBuffer (WebCL.CL_MEM_WRITE_ONLY, bufSize);
Next we will create a program object. The kernel code is loaded with the loadKernel function and built for the defined device. Possible failure with compilation is printed out as an alert box. Then, the kernel code "ckVectorAdd" is selected for the kernel object. Let us remark that there could be several kernel descriptions in kernel source code. At this point, we can also initialize the kernel arguments.
// Create and build program for the first device var kernelSrc = loadKernel("clProgramVectorAdd"); var program = ctx.createProgramWithSource(kernelSrc); var devices = ctx.getContextInfo(WebCL.CL_CONTEXT_DEVICES); try { program.buildProgram ([devices[0]], ""); } catch(e) { alert ("Failed to build WebCL program. Error " + program.getProgramBuildInfo (devices[0], WebCL.CL_PROGRAM_BUILD_STATUS) + ": " + program.getProgramBuildInfo (devices[0], WebCL.CL_PROGRAM_BUILD_LOG)); throw e; } // Create kernel and set arguments var kernel = program.createKernel ("ckVectorAdd"); kernel.setKernelArg (0, bufIn1); kernel.setKernelArg (1, bufIn2); kernel.setKernelArg (2, bufOut); kernel.setKernelArg (3, vectorLength, WebCL.types.UINT);
Next thing to do is to create Command queue. After that, local and global work sizes are defined. Let us note that the global work size must be multiple of local work size. The actual execution is enqueued with enqueueNDRangeKernel. After the execution, the results can be read from the OpenCL device with enqueueReadBuffer. Finally, the commmand queue is flushed with cmdQueue.finish.
// Create command queue using the first available device var cmdQueue = ctx.createCommandQueue (devices[0], 0); // Write the buffer to OpenCL device memory cmdQueue.enqueueWriteBuffer (bufIn1, false, 0, bufSize, UIvector1, []); cmdQueue.enqueueWriteBuffer (bufIn2, false, 0, bufSize, UIvector2, []); // Init ND-range var localWS = [8]; var globalWS = [Math.ceil (vectorLength / localWS) * localWS]; output.innerHTML += "
Global work item size: " + globalWS; output.innerHTML += "
Local work item size: " + localWS; // Execute (enqueue) kernel cmdQueue.enqueueNDRangeKernel(kernel, globalWS.length, [], globalWS, localWS, []); // Read the result buffer from OpenCL device outBuffer = new Uint32Array(vectorLength); cmdQueue.enqueueReadBuffer (bufOut, false, 0, bufSize, outBuffer, []); cmdQueue.finish (); //Finish all the operations //Print input vectors and result vector output.innerHTML += "
Vector1 = "; for (var i = 0; i < vectorLength; i = i + 1) { output.innerHTML += UIvector1[i] + ", "; } output.innerHTML += "
Vector2 = "; for (var i = 0; i < vectorLength; i = i + 1) { output.innerHTML += UIvector2[i] + ", "; } output.innerHTML += "
Result = "; for (var i = 0; i < vectorLength; i = i + 1) { output.innerHTML += outBuffer[i] + ", "; } } catch(e) { document.getElementById("output").innerHTML += "
ERROR:

" + e.message + "
"; throw e; } }


Add some base boxes: {: .-setup}
vagrant box add precise64 http://files.vagrantup.com/precise64.box
Work it:
mkdir test_box cd test_box vagrant init precise64
Run it:
vagrant up vagrant ssh
To stop, use one of the following:
vagrant ssh # then: sudo shutdown -h now vagrant suspend vagrant destroy # !!


{#include Rhosak/rhosakEmailBody} {#content-title}OpenShift Streams instance {action.context.name} deleted{/content-title} {#content-body}
Hello {user.firstName}. Your OpenShift Streams instance, with the name {action.context.name}, has been successfully deleted. Thank you for choosing Red Hat OpenShift Streams for Apache Kafka.


Change assigment to heavy barrel don't make any change at damage/distance graph. For example all engineer weapons.
BrainFooLong
Administrator
This graphs not updating when you change it.
The attachment changes only affects the accuracy plot data.
If you need this information, symthic.com provide it.


An example of how to implement a to-do list using AngularJS.
By changing the select, the "limit" value will be changed on the $scope, also changing the "limitTo" filter value.
All of the data is provided by jsonplaceholder.


{% extends "base.html" %}
{% load i18n %}
{% block meta_title %}
{% blocktrans with site_name=site.site_name %}Donate to {{ site_name }}{% endblocktrans %}
{% endblock %}
{% block main %}
Verifying transaction
Payment verification failed
If money has been debited from your account, please fill up the form in
the contact us page
and someone will get back to you soon! Please mention Reference ID
{{ subscription_id }} in your message.
We're sorry! An unexpected error has occurred.
Please make note of the Reference ID {{ subscription_id }} in
case you want to contact us.


About Me
I Geek out over Geography, make maps, crunch numbers/code on computers, and generally play around with stuff. Life is short so do what you love, and I love a lot of different things. So I thought I would build a website to show off some of the exploits my monkey brain comes up with from time to time. This is a constant work in progress.  None of it is exhaustive or meant to be a walk through, but if you have questions about any of it please reach out to me.
When I am not working on maps, or coding on computers I enjoy the outdoors. Hiking, backpacking, biking, surfing, fishing, etc. I also enjoy cooking and building DIY projects. I think all of these things are important to keep your brain well lubricated and balanced for complicated tasks like coding and developing.


Gardaí release men arrested in connection with Lucan shooting
by By Digital Desk staffThree men who were arrested in connection with a shooting in Lucan, Co Dublin two months ago have been released without charge.
Shots were fired at a man sitting in a car at Griffeen Glen Park on September 4.
The three, two aged in their 20s and one in his 30s, have previously been detained in connection with the same incident.
They were released late last night and a file will now be prepared for the Director of Public Prosecutions.
READ MORE
Gardaí investigating overnight attempted theft of ATM in Louth


Oracle has never published what algorithm is used to generate their password hashes, but it appears that no salt is used seeing as Oracle hash lists are published revealing hashes and their associated passwords.
The account allows us full access to the database, including the ability to stop, start, and even modify the database!
Oct. 15, 2005 – Two researchers (Jashua Wright and Carlos Cid) identified weaknesses in the Oracle hashing mechanism for protecting the passwords
Weak SALT (uses username for SALT)
Lack of case preservation (Oracle passwords are case insensitive; “PASSWORD” is the same as “password”) associated passwords.
Weak algorithm
Oracle Password Algorithm (7-10g Rel.2)
Up to 30 characters long. All characters will be converted to uppercase before the hashing starts
8-byte hash, encrypted with a DES encryption algorithm without real salt (just the username).
The algorithm can be found in the book "Special Ops Host And Network Security For Microsoft, Unix, And Oracle“
Oracle database 11g offers the (optional) possibility to use passwords up to 50 characters (uppercase/lowercase).
In Oracle 11g the passwords are now hashed with DES (column: password) AND using SHA-1 (column: spare4). The SHA-1 passwords are now supporting mixed-case passwords. In 11g the
password hashes are no longer available in dba_users.
– Oracle (7-10g R2) encrypts the concatenation of (username||password) --- sys/temp1 and system/p1 have the identical hashkey (2E1168309B5B9B7A)
– Oracle (11g R1) uses SHA-1 to hash the concatenation of (password||salt)


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Our home and office cleaning packages are truly the signature services of MayFlower's Cleaning; our most popular and in-demand general cleaning packages right around the country.
The cleaning business is a huge industry and MayFlower's Cleaning is the best known. Demand is growing every day as more and more people run out of time to fit the household chores into their lifestyle, or simply choose to do other things instead!


Stars: 5.0
Number of Reviews: 15
Neighborhood: Financial District
Address: 200 Bay St, Unit F1, Toronto, ON, M5J 2J1


Someone will reach out to you today - Yep, that's right! We're actually super responsive and we'll never ignore you!
We'll set up a time to sit down with you in person to discuss your goals - We do this with our clients so we can make sure that we're actual providing great value and helping them find a home they'll love.
An amazing, personalized, concierge service from first contact all the way through closing - Working with real estate agents can be a great experience or an awful one. We'll be honest, transparent, and responsive throughout the entire process.


Dear {% for r in recipients %} {% block r %} {{ escape(r.first_name) }} {{ escape(r.last_name) }}, {% end %} {% end %}
We are pleased to inform you that your account on {{ theme }} portal has been successfully validated. You may now start using {{ theme }}!!
{% include ../button.html %}The OneLab operations team is standing by at<EMAIL_ADDRESS>to provide you with help regarding the portal and to refer your testbed- and tool-specific queries to those best able to answer them.
Yours sincerely,
The {{ theme }} team


Hi all
Having just bought an electric car, I was looking into the options there are for charging it at home. There are subsidised chargers available from £200, but I thought I'd look at open-source options. I looked at openEVSE, which looks great, but I've already got a load of OpenEnergyMonitor stuff monitoring all sorts of things in my house for my website (http://www.redelectrical.co.uk/solar-iboost-heatpump-monitoring/).
I found a guy selling all sorts of EV charging components via his website http://evbitz.uk, including a Mainpine Electronic Protocol Controller (EPC) that handles all the charging of the car. The EPC has a control input to set the charge current that is advertised to the vehicle. This has an internal 1K pullup resistor to its 5V supply line. You simply connect a resistor between it and ground to create a potential divider and set the charge rate between 7A and 32A.
I built a simple circuit using a X9C102PZ digital potentiometer and a partly-built emonTx V2 on a breadboard and wrote a sketch that varied the charge rate. I've developed it a bit and put it on a veroboard.
It now has the following features:
- Proportional charge rate between 7A and 32A depending on surplus PV generation (measured using CT1)
- Measurement of charge rate using CT2
- 3-stage boost facility using push button to cycle between 'spare' power only, minimum 9A boost, minimum 16A boost and 32A boost.
- Two-colour LED to indicate mode operation (green = pilot relay on, number of red blinks = mode)
- Upload of charge amps, watts and boost mode to emoncms.org
I initially looked at using an emonTX v2 to receive the packets from the existing monitoring, but then decided on a standalone system with its own CTs as this would be more reliable.
I built the emonTX without the CT3, pulse and temperature circuitry to free up some IO pins. I then put headers on it so that I could stack a veroboard on top. The schematic of the EVSE 'shield' is attached, along with photos of it on veroboard. I used a 555 timer IC to debounce the boost switch.
I later found that the car sometimes failed to respond to the EVSE telling it to charge. I found that unplugging the car and plugging it in again fixed this, so I added a small relay board that I bought from eBay. This disconnects the pilot pin of the EV plug when not in use.
I do currently have an issue with false triggering of the boost switch, which may be due to the volt drop when the car starts charging, or noise inside the EPC enclosure.
The external enclosure houses the Mainpine EPC, small relay board, mode indicator LED and boost switch. The other enclosure houses the emonTX and EVSE shield. In the main consumer unit there is an 8V bell transformer for the voltage measurement and a 5V DIN rail power supply for the emonTX board.
I've also attached the code.
Hopefully all this makes some sense, it's not intended to be a 'proper' write-up but I'm aware of others with similar projects so I thought I would put this up in case it inspires anyone.
Stuart
Re: OEM based electric vehicle charging
That's a pretty impressive build.
I'd certainly reduce the value of the pull-up resistor on your push-button switch - 100 kΩ is excessive, and, depending on the contact material inside the switch, you may well have reliability issues if there's no wiping action and not enough current to 'wet' the contacts. 1 kΩ - 10 kΩ would I think be more appropriate. You could also add a small capacitor (say 100 nF) across the input to GND which should help to minimise and noise pickup (which is surely not hindered by the 100 kΩ pull-up).
Re: OEM based electric vehicle charging
Thankyou for sharing Stuart, I'd like to try this myself, got a leaf here :) although the 3kW charger version so can only vary from 7-13A. Great to see this!
Re: OEM based electric vehicle charging
Thanks for the feedback Robert, I am a bit rusty with electronics so it was a bit of a re-learning curve. It's 20 years or so since I last used a veroboard! I'll take your suggestions on board and see how it goes.
Trystan, I got the digital potentiometer and DIN rail 5V power supply from Farnell. Everything else is fairly generic so I got it locally. I had to set the minimum charge at 9A because my Zoe wasn't happy with anything below that.
Re: OEM based electric vehicle charging
Looks good Stuart.  Or are you using all solar power as spare?
I have a similar setup working sending 6 to 16 amps to my 3.6kW LEAF and 7 to 14 amps to my Ampera electric car using a Mainpine EPC. However I had a couple of Rolec chargers fitted for free on the government scheme through www.nuworldenergy.co.uk.
I already had the EmontxV3 setup near the consumer unit so used that to send the amount of spare solar power to a Funky V3 which is mounted on a piece of veroboard with power supply and MCP4261 potentiometer. Like your setup the potentiometer sets the mainpine epc to tell the car what current to take.
The part I have been struggling with is trimming the efficiency of the software.....it needs to react quickly to changing amounts of spare solar so as not to waste any but also the reactions to passing clouds needs to be dampened so the charger is not switching on and off too often. Mine will cope with things like the oven reducing the amount of spare PV power but as yet I havent figured out how to make it switch off when the induction hob is rapidly cycling the amount of spare PV other than to manually switch it off.
I have a manual boost in the form of a rotary switch on the Rolec which selects between Auto, 6A, 10A, 16A or 32A depending on car.
Re: OEM based electric vehicle charging
Hi nrgbod
The system uses a CT clip on the tails. This measures the spare PV because my PV inverters are connected via the house consumer unit.
I have implemented a minimum charge time of 60 seconds in my arduino sketch, to reduce short cycling due to cloudy days or intermittent loads.
However, at such times I often put the charger into mode 1 (minimum 9A charge) and live with the fact that there are short periods when the car is charging from the grid. It's only 9A after all and the majority of the charge is powered by the PV.
I suppose a more desirable setup would be to write a sketch that resets the minimum charge time when there is excess PV again, i.e. the charge would not end if there has been surplus electricity in the last 60 seconds. I might just do that this week - I'll post the sketch if I get round to doing so.
Re: OEM based electric vehicle charging
I also reset the timers in my sketch. They keep restarting the shutdown timers unless the spare pv is below a set value and not rising.
See the attached sketches which might give you some ideas.
Re: OEM based electric vehicle charging
Have any of you spoken to Dave Davies about this? He is working on a similar project. Get him on Twitter @dodavies.


Description: {{y.description}}
Specification: {{y.specs}}
Stars: {{review.stars}} | {{review.body}} {{review.author}} on {{review.createdOn | date}}


Profile Summary
A 23 years old aspiring front end developer who keen to learn something and likes to dive deep into it. Been coding for 2 years. Having almost 2 years of work experience, as a front end developer. Currently learning TDD and in-depth with ReactJS.
Contact
| Phone | : | +62 812 6882 0585 |
| : |<EMAIL_ADDRESS>|
Employment History
-
Front End Developer at Tokenomy
Jakarta, Indonesia
Sep 2019 - NowTokenomy is blockchain company that provides launchpad for blockchain company and a token exchange platform. I'm working on some projects that Tokenomy has, to build a new web apps with a new design, using modern frontend tech, React.
-
Front End Developer at Skycoin
Malang, Indonesia
May 2019 - Aug 2019Working on skycoin's website (https://www.skycoin.com) which is built with React and also the blog (https://www.skycoin.com/blog/), built with Hugo
-
Front End Developer at Aleph Labs
Jakarta, Indonesia
Feb 2019 - May 2019I build mobile app with web-based tech with Angular and Ionic. I work closely with client (Prudential), building an app for their agents.
-
Front End Developer at NoLimit Indonesia (Remote Freelance)
Bandung, Indonesia
Dec 2018 - Feb 2019I work as a remote freelance, build a social analytic dashboard for RRI Indonesia, with React.
-
Front End Developer at SRP Software Solutions
Batam, Indonesia
July 2018 - Nov 2018I build Bright PLN Indonesia’s compa dashboard web app, with React.
Knowledge
- HTML & CSS
- JavaScript
- React
- React Native
- React Hooks
- React Testing Library
- Redux
- NodeJS
- Angular
- Ionic
Languages
- Bahasa Indonesia
- English
Education
-
Informatic Engineering at State Polytechnic of Batam
Batam, Indonesia
July 2015 - Nov 2018Majoring Informatic Engineering, I graduated with 3.5 GPA.
Socials
-
Github
github.com/berlirumapea -
LinkedIn
linkedin.com/in/berlirumapea


base data: geo to c19 global
c19global to main
set menu to view article in Iframe
set menu to view chart template in Iframe
set menu to check if chart template exists
set menu to check article tables
start end
click selected menu items
Save File


Gregory Monroe II
About Me
Contact
(current)
Projects
Contact
LinkedIn
GitHub
Email Address:
<EMAIL_ADDRESS>Phone Number:<PHONE_NUMBER>


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/lean.20web.20editor.20on.20firefox.html ---
Here
's a proof that (2 : \R) + 2 = 4 in the Lean Web Editor. You can check it's working by clicking in between two of the characters in norm_num
, where you should see "2 + 2 = 4" as the goal on the right hand side.
Works fine for me in Chrome, doesn't work for me in firefox (firefox quantum 65.0, 64 bit, I tried Ubuntu 16.04 LTS or 18.04 LTS).
I've been asked to give a talk about my teaching at some internal teaching thing and they want me to do "15 minutes of interactive Lean" with people who aren't mathematicians but are scientists. Apparently they will be told to bring their laptops. I don't fancy my chances getting it installed so it will have to be Lean Web Editor but I've had real problems with it on firefox recently.
Here's stuff from an earlier investigation -- I think it'll take someone with some knowledge about lean's webassembly build to get to the bottom of this https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/online.20leanprover/near/147928323
I really think using the web editor is a bad idea. What about using CoCalc? If you get CoCalc credits paid by your university, you can use those credits on a project and (after telling your audience to create CoCalc account if needed) enroll the audience in the project. This way (I think) they can use computing power you paid for. I'm sure you can ask William about this idea
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


If you can't or don't want to use the default wrapper class .vsac-social
,
you can append the share buttons to any element via javascript:
window.VSAC.social('.css-selector');
Similarly, if you are not happy with the default button formatter, you can override it with:
window.VSAC.social.btn_formatter(fn);
Where fn
is your formatter callback. It will receive the button
attributes (an object) as it's first argument, and it should return an
HTML element or jQuery object ready to be appended to the wrapper.
To restore the default formatter, call btn_formatter
with no
parameters.


function add(a, b) {
a = a | 0;
b = b | 0;
return (a + b) | 0;
}
function strlen(pointer) {
pointer = pointer | 0;
var current = 0;
current = pointer;
while (HEAP8[current] | 0 != 0) {
current = (current + 1) | 0;
}
return (current - pointer) | 0;
}
| C++ | Bytes | Text |
|---|---|---|
|
|
|


|
Catch-22
(Pink) |
|
[SPOKEN]:
Good afternoon ladies and gentlemen and welcome to Pink Airlines. We hope your flight is enjoyable and our flight attendants are here to insure your ride is as pleasant as possible. Seat backs and tray tables must be in the upright position during the take-off and landing. All carry-on luggage must be stowed in an over-head compartment or under the seat in front of you... Waiting on a ticket 'Cause you're looking for the ride You're feeling on top 'Cause you're flying through the sky You wanna have your cake And you wanna eat it too Everybody's always pointing fingers at you You're damned if you do You're damned if you don't We're always doing all the things That we say we won't [CHORUS]: Here we go We're riding on a whim Connecting with a rendezvous Here we go We're jumping off the wings We're going round in circles It's a catch 22 Yes, we're flying round in circles It's a catch 22 yes were rocking round in circles it's the catch 22 [SPOKEN]: If you are seated in an emergency exit aisle and feel as though you are unable or unwilling to assist in case of an emergency, please notify a flight attendant immediately.   [CHORUS] |


Founded in 2004 by Italian Italian Luca Lunghi, “La Bella Italia” is marked by a trajectory of constant evolution and innovation in the local gastronomic scene. With 100% Italian cuisine, the restaurant prides itself on rescuing the flavors of traditional cuisine combined with technique and innovation. The intention is to provide a trip to the affective memory of the flavors, textures and senses of authentic Italian cuisine.
Founded in 2004 by Italian Italian Luca Lunghi, “La Bella Italia” is marked by a trajectory of constant evolution and innovation in the local gastronomic scene. With 100% Italian cuisine, the restaurant prides itself on rescuing the flavors of traditional cuisine combined with technique and innovation. The intention is to provide a trip to the affective memory of the flavors, textures and senses of authentic Italian cuisine.
Founded in 2004 by Italian Italian Luca Lunghi, “La Bella Italia” is marked by a trajectory of constant evolution and innovation in the local gastronomic scene. With 100% Italian cuisine, the restaurant prides itself on rescuing the flavors of traditional cuisine combined with technique and innovation. The intention is to provide a trip to the affective memory of the flavors, textures and senses of authentic Italian cuisine.
Founded in 2004 by Italian Italian Luca Lunghi, “La Bella Italia” is marked by a trajectory of constant evolution and innovation in the local gastronomic scene. With 100% Italian cuisine, the restaurant prides itself on rescuing the flavors of traditional cuisine combined with technique and innovation. The intention is to provide a trip to the affective memory of the flavors, textures and senses of authentic Italian cuisine.
Founded in 2004 by Italian Italian Luca Lunghi, “La Bella Italia” is marked by a trajectory of constant evolution and innovation in the local gastronomic scene. With 100% Italian cuisine, the restaurant prides itself on rescuing the flavors of traditional cuisine combined with technique and innovation. The intention is to provide a trip to the affective memory of the flavors, textures and senses of authentic Italian cuisine.


{% extends "simple.html" %} {% block body %}
This page tries to find the maximum number of connections a browser will open.
It does this by opening two images from each of 30 different hostnames ([1-30].{{ resource_cgi_base }}
).
Each image takes {{ sleep }} seconds to load.
The most connections that can be measured is 60 (2 images x 30 hostnames)..
Therefore, browsers that support more than 60 open connections will be shown as just 60.


Super Bowl Party RSVP
Ready for the big game?
Use this RSVP form to let us know you're coming to our super
Super Bowl party.
Ready for the big game?
Use this RSVP form to let us know you're coming to our super
Super Bowl party.


--- layout: post date: 2009-08-15 time: "10:00:00" authors: ["Greg Wilson"] title: You Can Do a Lot Without Programming tags: ["Noticed"] ---
From Cameron Neylon, a short video showing how to embed molecules from the ChemSpider service into a wiki page. I was surprised and impressed to discover during his visit to Toronto just how little programming Cameron does: mostly, he leverages his understanding of how information moves around the Internet to plumb existing tools and services together. This is part of (or dependent on) what Jeannette Wing calls "computational thinking", and one of the goals for the next revision of this course is to focus more on those kinds of skills.


Lesson 2 - More on gravity and the two body problem
Downloads
Links
Resources
Below are some extra resources to learn about the topics we discussed. Some will be required for the HW and will be listed on the Canvas webpage, while others are left up to you!
Crash Course in Physics: Linear and Circular Motion
- Physics Crash Course - intro to linear motion
- Intro to Circular Motion and Gravitation
Crash Course in Physics: Gravity and Circular Motion
- Physics Crash Course - Intro to Newton’s Law’s
- Physics Crash Course - Intro to Gravitation
- Intro to Circular Motion and Gravitation
- Another take on Circular Motion and Gravitation
- Newton’s First Law
Ellipses, Conic sections and Kepler’s Laws
- Reading from Lumen Learning
- Intro to Conic sections from Khan Academy
- An intro to Kepler’s Laws - note that some of the links contain calculus derivations.
Materials
- Lecture 2, Part 1 - Linear and Circular Motion: (view,
source, present)
- Lecture 2, Part 2 - Gravity and Circular Motion: (view,
source, present)
- Lecture 2, Part 3 - Kepler's Laws, Ellipses and Orbital Motion: (view,
source, present)
- Notebook Part1_circularMotion_eulers_notes_lesson01:
(view,
download)
- Notebook Part2_gravity_notes_lesson01:
(view,
download)
- Notebook Part3_ellipses_notes_lesson01:
(view,
download)
- Notebook inClass_lesson02:
(view,
download)
- Notebook inClass_quickPythonReview:
(view,
download)


Use the following code to create a basic inputEx field.
You can set a default value by specifying the 'value' property in the options object.
You can set the size of the input.
You can add a maximum/minimum length on string fields :
If the 'required' property is set, the 'validate' method will return false if the field is empty. In a form, the 'validate' method will be called on each field and will return false if at least one field doesn't validate.
Here is an example on how to check the value with a regular expression. (It is better to use the IntegerField, but this is a simple example.)
The basic Field class can use regular expressions to validate the field content. Here is an example with this wonderful email regular expression (note that there is an Email Field class).
You can call the methods 'disable' or 'enable' to set the state of the field.
How to listen to the updated event :
Display a text when the field is empty.
Config with various options : typeInvite, required, minLength, trim -- Test setValue and getValue methods
Use the focus method


By Lars Lindahl, High School Student © 1999 Lars Lindahl
"Mystery Men" (1999)
Directed by Kinka Usher
Written by Neil Cuthbert
Starring Ben Stiller, William H. Macy, Hank Azaria, Paul Reubens, Jeneane Garafolo Greg Kinnear, Geoffrey Rush, Claire Forlani, Kel Mitchell, Wes Studi, Pras, Eddie Izzard, Tom Waits, Artie Lange, Lena Olin
Grade: 0 stars (out of four)
It should have been a classic. A great cast of respected supporting actors. An interesting premise of loser comic book characters. However, "Mystery Men" proved to be one of the great disappointments of 1999. The jokes were bland and hackneyed from talents who have previously made audiences laugh with their unique rituals. The number of cliches and shallow characters made the film difficult to sit through seriously hurting its attempt of having a fast paced premise. The script tried to deliver a series of small jokes throughout the film but without a big laugh-out-loud joke and mediocre small jokes, it failed miserably at being entertaining at all. The jokes were not funny for a number of reasons. They had been used a number of times before in previous films, the best ones, which were mediocre to begin with, were ruined in the trailer, and the expectation of laughing at clever, unique gags from clever unique comedians when there were none to laugh at greatly damaged the film. "Mystery Men" might have worked if it was an ensemble cast of newcomers trying to break into the business. But with veterans doing this kind of junk, it really questioned whether their other work was as funny as originally thought. Thankfully most actors in this movie will appear in five other movies before the new year arrives to help viewers forget this little movie. The film follows a band of wannabe superheroes living in a wannabe Gotham City who are ridiculed by their fellow citizens and villains because of their clumsiness and failure to save they day and capture the bad guy.  Captain Amazing (played terribly by an uninspired Greg Kinnear), because of his success in the past, is worried that he will lose popularity. After freeing one of the most notorious bad guys in the city (Geoffrey Rush, overacting just a bit too much) to keep himself busy, things get out of hand when Captain Amazing is captured. It is up to the wannabe superheroes to save the day. By the time this section of the plot is finished, the interest for what happens (if you haven't already figured it out) is very low. There are very few scenes which catch the viewers complete attention. The first scene in the film, which shows the wannabes trying to save the day, feels like it was seriously edited down. Right when it was beginning to become slightly funny seeing these actors get humiliated at an old folk's home by some masked goons, Captain Amazing comes in and saves the day…or ruins the movie. Instead of editing this scene, more editing should have been done in areas such as the unnecessary romance between Mr. Furious (Ben Stiller) and Monica, a waitress(Claire Forlani) or the vast majority of the film, which is the heroes talking at a coffee table about how their day was.
Another major problem with "Mystery Men" is that every actor in it seemed very uncomfortable and consequently gave terrible performances. The film depended on its cast to work fluently together, like a bunch of old friends working together in an amiable reunion. However, most characters seemed like they did not even want to be in this film or at least the script made it seem this way. To pull one of the actors in this film randomly out of a hat, Paul Reubens, who disappeared from acting to everyone's joy, returns here leaving very little to be impressed about. As a wannabe who uses flatulence for a weapon, all of his jokes must therefore be fart jokes. Fart jokes that have all been heard before and will inevitably be heard again in future films thanks to the success of "American Pie" and "There's Something About Mary."
"Mystery Men" drags on towards the end to a point where anything else in the world is more entertaining. Anyone with a brain knows each one of the heroes is going to be successful at their talent in the end and each one is going to contribute in a helpful way. So why continue to watch? This film is far from a worthy guilty pleasure. "Mystery Men" indeed does this and every time a character succeeds another one congratulates him and says "I knew you could do it!" "Mystery Men" fails in every category it attempts to pass. What makes this film so bad is that it had the potential to be wonderful and unforgettable. Terrible acting, terrible script, and a terrible waste of time changes opinions about all of these actors. "I'm unpredictable!" an overexcited Ben Stiller shouts out. No Ben, you're the complete opposite.
© 1999 Lars Lindahl
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


PHP-DI
Home
News
Getting started
Documentation
Change log
Github
PHP-DI
Dependency Injection Container for PHP


In this project, you'll classify images from the CIFAR-10 dataset. The dataset consists of airplanes, dogs, cats, and other objects. You'll preprocess the images, then train a convolutional neural network on all the samples. The images need to be normalized and the labels need to be one-hot encoded. You'll get to apply what you learned and build a convolutional, max pooling, dropout, and fully connected layers. At the end, you'll get to see your neural network's predictions on the sample images.
Run the following cell to download the CIFAR-10 dataset for python.
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
from urllib.request import urlretrieve
from os.path import isfile, isdir
from tqdm import tqdm
import problem_unittests as tests
import tarfile
cifar10_dataset_folder_path = 'cifar-10-batches-py'
class DLProgress(tqdm):
last_block = 0
def hook(self, block_num=1, block_size=1, total_size=None):
self.total = total_size
self.update((block_num - self.last_block) * block_size)
self.last_block = block_num
if not isfile('cifar-10-python.tar.gz'):
with DLProgress(unit='B', unit_scale=True, miniters=1, desc='CIFAR-10 Dataset') as pbar:
urlretrieve(
'https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz',
'cifar-10-python.tar.gz',
pbar.hook)
if not isdir(cifar10_dataset_folder_path):
with tarfile.open('cifar-10-python.tar.gz') as tar:
tar.extractall()
tar.close()
tests.test_folder_path(cifar10_dataset_folder_path)
The dataset is broken into batches to prevent your machine from running out of memory. The CIFAR-10 dataset consists of 5 batches, named data_batch_1
, data_batch_2
, etc.. Each batch contains the labels and images that are one of the following:
Understanding a dataset is part of making predictions on the data. Play around with the code cell below by changing the batch_id
and sample_id
. The batch_id
is the id for a batch (1-5). The sample_id
is the id for a image and label pair in the batch.
Ask yourself "What are all possible labels?", "What is the range of values for the image data?", "Are the labels in order or random?". Answers to questions like these will help you preprocess the data and end up with better predictions.
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import helper
import numpy as np
# Explore the dataset
batch_id = 1
sample_id = 61
helper.display_stats(cifar10_dataset_folder_path, batch_id, sample_id)
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
import random
import IPython.display as disp
def normalize(x):
"""
Normalize a list of sample image data in the range of 0 to 1
: x: List of image data. The image shape is (32, 32, 3)
: return: Numpy array of normalize data
"""
# TODO: Implement Function
images, height, width, depth = x.shape
random_range = random.randint(0,images - 10)
for i in range(random_range, random_range + int(random.random() * 10),1):
fig = plt.figure()
a = fig.add_subplot(2,2,1)
a.title.set_text("original image")
#print ("original image")
x1 = np.array(x[i],dtype='f')
plt.imshow(x1)
#plt.show()
a = fig.add_subplot(2,2,2)
a.title.set_text("normalized image")
#print ("normalized image")
y2 = np.array(x[i]/255,dtype='f')
plt.imshow(y2)
plt.show()
return x/255
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_normalize(normalize)
Just like the previous code cell, you'll be implementing a function for preprocessing. This time, you'll implement the one_hot_encode
function. The input, x
, are a list of labels. Implement the function to return the list of labels as One-Hot encoded Numpy array. The possible values for labels are 0 to 9. The one-hot encoding function should return the same encoding for each value between each call to one_hot_encode
. Make sure to save the map of encodings outside the function.
Hint:
Look into LabelBinarizer in the preprocessing module of sklearn.
y=[]
def one_hot_encode(x):
"""
One hot encode a list of sample labels. Return a one-hot encoded vector for each label.
: x: List of sample Labels
: return: Numpy array of one-hot encoded labels
"""
# TODO: Implement Function
import sklearn.preprocessing
label_bin = sklearn.preprocessing.LabelBinarizer()
label_bin.fit(range(max(x)+1))
y = label_bin.transform(x)
return y
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_one_hot_encode(one_hot_encode)
As you saw from exploring the data above, the order of the samples are randomized. It doesn't hurt to randomize it again, but you don't need to for this dataset.
Running the code cell below will preprocess all the CIFAR-10 data and save it to file. The code below also uses 10% of the training data for validation.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
# Preprocess Training, Validation, and Testing Data
helper.preprocess_and_save_data(cifar10_dataset_folder_path, normalize, one_hot_encode)
This is your first checkpoint. If you ever decide to come back to this notebook or have to restart the notebook, you can start from here. The preprocessed data has been saved to disk.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import pickle
import problem_unittests as tests
import helper
# Load the Preprocessed Validation data
valid_features, valid_labels = pickle.load(open('preprocess_validation.p', mode='rb'))
For the neural network, you'll build each layer into a function. Most of the code you've seen has been outside of functions. To test your code more thoroughly, we require that you put each layer in a function. This allows us to give you better feedback and test for simple mistakes using our unittests before you submit your project.
Note: If you're finding it hard to dedicate enough time for this course each week, we've provided a small shortcut to this part of the project. In the next couple of problems, you'll have the option to use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages to build each layer, except the layers you build in the "Convolutional and Max Pooling Layer" section. TF Layers is similar to Keras's and TFLearn's abstraction to layers, so it's easy to pickup.
However, if you would like to get the most out of this course, try to solve all the problems without using anything from the TF Layers packages. You can still use classes from other packages that happen to have the same name as ones you find in TF Layers! For example, instead of using the TF Layers version of the
conv2d
class, tf.layers.conv2d, you would want to use the TF Neural Network version ofconv2d
, tf.nn.conv2d.
Let's begin!
The neural network needs to read the image data, one-hot encoded labels, and dropout keep probability. Implement the following functions
neural_net_image_input
image_shape
with batch size set to None
.name
parameter in the TF Placeholder.neural_net_label_input
n_classes
with batch size set to None
.name
parameter in the TF Placeholder.neural_net_keep_prob_input
name
parameter in the TF Placeholder.These names will be used at the end of the project to load your saved model.
Note: None
for shapes in TensorFlow allow for a dynamic size.
import tensorflow as tf
def neural_net_image_input(image_shape):
"""
Return a Tensor for a batch of image input
: image_shape: Shape of the images
: return: Tensor for image input.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, shape=[None, image_shape[0], image_shape[1], image_shape[2]], name="x")
def neural_net_label_input(n_classes):
"""
Return a Tensor for a batch of label input
: n_classes: Number of classes
: return: Tensor for label input.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, shape=(None,n_classes),name="y")
def neural_net_keep_prob_input():
"""
Return a Tensor for keep probability
: return: Tensor for keep probability.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, name="keep_prob")
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tf.reset_default_graph()
tests.test_nn_image_inputs(neural_net_image_input)
tests.test_nn_label_inputs(neural_net_label_input)
tests.test_nn_keep_prob_inputs(neural_net_keep_prob_input)
Convolution layers have a lot of success with images. For this code cell, you should implement the function conv2d_maxpool
to apply convolution then max pooling:
conv_ksize
, conv_num_outputs
and the shape of x_tensor
.x_tensor
using weight and conv_strides
.pool_ksize
and pool_strides
.Note: You can't use TensorFlow Layers or TensorFlow Layers (contrib) for this layer, but you can still use TensorFlow's Neural Network package. You may still use the shortcut option for all the other layers.
Hint:
When unpacking values as an argument in Python, look into the unpacking operator.
def conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides):
"""
Apply convolution then max pooling to x_tensor
:param x_tensor: TensorFlow Tensor
:param conv_num_outputs: Number of outputs for the convolutional layer
:param conv_ksize: kernal size 2-D Tuple for the convolutional layer
:param conv_strides: Stride 2-D Tuple for convolution
:param pool_ksize: kernal size 2-D Tuple for pool
:param pool_strides: Stride 2-D Tuple for pool
: return: A tensor that represents convolution and max pooling of x_tensor
"""
channels = x_tensor.get_shape().as_list()[3]
weights = tf.Variable(tf.random_normal([conv_ksize[0], conv_ksize[1], channels, conv_num_outputs]))
bias = tf.Variable(tf.zeros(conv_num_outputs))
conv_layer = tf.nn.conv2d(x_tensor, weights, strides=[1, conv_strides[0], conv_strides[1], 1], padding='SAME')
conv_layer = tf.nn.bias_add(conv_layer, bias)
#conv_layer = tf.nn.relu(conv_layer)
conv_layer = tf.nn.softmax(conv_layer)
conv_layer = tf.nn.max_pool(conv_layer, \
[1, pool_ksize[0], pool_ksize[1], 1], \
[1, pool_strides[0], pool_strides[1], 1], \
padding='SAME' )
# TODO: Implement Function
return conv_layer
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_con_pool(conv2d_maxpool)
Implement the flatten
function to change the dimension of x_tensor
from a 4-D tensor to a 2-D tensor. The output should be the shape (Batch Size, Flattened Image Size). Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
def flatten(x_tensor):
"""
Flatten x_tensor to (Batch Size, Flattened Image Size)
: x_tensor: A tensor of size (Batch Size, ...), where ... are the image dimensions.
: return: A tensor of size (Batch Size, Flattened Image Size).
 Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
def fully_conn(x_tensor, num_outputs):
"""
Apply a fully connected layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
 Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
Note: Activation, softmax, or cross entropy should not be applied to this.
def output(x_tensor, num_outputs):
"""
Apply a output layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
 The function takes in a batch of images, x
, and outputs logits. Use the layers you created above to create this model:
keep_prob
. def conv_net(x, keep_prob):
"""
Create a convolutional neural network model
: x: Placeholder tensor that holds image data.
: keep_prob: Placeholder tensor that hold dropout keep probability.
: return: Tensor that represents logits
"""
# TODO: Apply 1, 2, or 3 Convolution and Max Pool layers
# Play around with different number of outputs, kernel size and stride
# Function Definition from Above:
# conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides)
# TODO: Apply a Flatten Layer
# Function Definition from Above:
# flatten(x_tensor)
# TODO: Apply 1, 2, or 3 Fully Connected Layers
# Play around with different number of outputs
# Function Definition from Above:
# fully_conn(x_tensor, num_outputs)
# TODO: Apply an Output Layer
# Set this to the number of classes
# Function Definition from Above:
# output(x_tensor, num_outputs)
# TODO: return output
# Variable initialization
#conv_ksize = (3, 3)
conv_ksize = (4, 4)
conv_strides = (1, 1)
#pool_ksize = (4, 4)
pool_ksize = (2, 2)
#pool_strides = (1, 1)
pool_strides = (2, 2)
#conv_num_outputs = 48
conv_num_outputs = 12
# CNN layer 1 -- 32x32x3 to 16x16x48
# CNN layer 1 -- 32x32x3 to 30x30x12
CL = conv2d_maxpool(x, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides)
# CNN layer 2 -- 16x16x48 to 8x8x192
# CNN layer 2 -- 30x30x12 to 28x28x48
#conv_layer = conv2d_maxpool(conv_layer, 192, (2, 2), conv_strides, pool_ksize, (1, 1))
CL = conv2d_maxpool(CL, 48, conv_ksize, conv_strides, pool_ksize, pool_strides)
#CL = conv2d_maxpool(CL, 48, conv_ksize, (2,2), pool_ksize, pool_strides)
# CNN layer 3 -- 8x8x192 to 4x4x384
# CNN layer 3 -- 28x28x48 to 13x13x192
#conv_layer = conv2d_maxpool(conv_layer, 384, (2, 2), conv_strides, (1, 1), pool_strides)
#CL = conv2d_maxpool(CL, 192, conv_ksize, conv_strides, pool_ksize, pool_strides)
#CL = conv2d_maxpool(CL, 192, conv_ksize, (2,2), pool_ksize, pool_strides)
# CNN layer 4 - 4x4x384 to 2x2x512
#CL = conv2d_maxpool(CL, 512, (2, 2), (2, 2), (1, 1), (1, 1))
#CL = conv2d_maxpool(CL, 768, (4, 4), (1, 1), (2, 2), (2, 2))
#CL = conv2d_maxpool(CL, 768, (4, 4), (2, 2), (2, 2), (2, 2))
# TODO: Apply a Flatten Layer
# Function Definition from Above:
# flatten(x_tensor)
# 2x2x512 to 2048
CL = flatten(CL)
# TODO: Apply 1, 2, or 3 Fully Connected Layers
# Play around with different number of outputs
# Function Definition from Above:
# fully_conn(x_tensor, num_outputs)
# Dropout -- 3072 to (keep_prob * 3072)
FC = tf.nn.dropout(CL, keep_prob)
# Fully connected layer 1 -- (keep_prob * 3072) to 512
FC = fully_conn(FC, 512)
#fully_conn_layer = fully_conn(conv_layer, 768)
# Fully connected layer 2 -- 512 to 128
FC = fully_conn(FC, 128)
#fully_conn_layer = fully_conn(fully_conn_layer, 24)
# Fully connected layer 2 -- 128 to 32
#FC = fully_conn(FC, 32)
# TODO: Apply an Output Layer
# Set this to the number of classes
# Function Definition from Above:
# output(x_tensor, num_outputs)
# Output layer -- 128 to 10
# Output layer -- 32 to 10
out = output(FC, 10)
# TODO: return output
return out
#return None
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
##############################
## Build the Neural Network ##
##############################
# Remove previous weights, bias, inputs, etc..
tf.reset_default_graph()
# Inputs
x = neural_net_image_input((32, 32, 3))
y = neural_net_label_input(10)
keep_prob = neural_net_keep_prob_input()
# Model
logits = conv_net(x, keep_prob)
# Name logits Tensor, so that is can be loaded from disk after training
logits = tf.identity(logits, name='logits')
# Loss and Optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y))
optimizer = tf.train.AdamOptimizer().minimize(cost)
# Accuracy
correct_pred = tf.equal(tf.argmax(logits, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32), name='accuracy')
tests.test_conv_net(conv_net)
Implement the function train_neural_network
to do a single optimization. The optimization should use optimizer
to optimize in session
with a feed_dict
of the following:
x
for image inputy
for labelskeep_prob
for keep probability for dropoutThis function will be called for each batch, so tf.global_variables_initializer()
has already been called.
Note: Nothing needs to be returned. This function is only optimizing the neural network.
def train_neural_network(session, optimizer, keep_probability, feature_batch, label_batch):
"""
Optimize the session on a batch of images and labels
: session: Current TensorFlow session
: optimizer: TensorFlow optimizer function
: keep_probability: keep probability
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
"""
# TODO: Implement Function
session.run(optimizer, feed_dict={
x: feature_batch,
y: label_batch,
keep_prob: keep_probability
})
pass
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_train_nn(train_neural_network)
Implement the function print_stats
to print loss and validation accuracy. Use the global variables valid_features
and valid_labels
to calculate validation accuracy. Use a keep probability of 1.0
to calculate the loss and validation accuracy.
def print_stats(session, feature_batch, label_batch, cost, accuracy):
"""
Print information about loss and validation accuracy
: session: Current TensorFlow session
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
: cost: TensorFlow cost function
: accuracy: TensorFlow accuracy function
"""
# TODO: Implement Function
loss = session.run(cost, feed_dict={
x: feature_batch,
y: label_batch,
keep_prob: 1.})
valid_acc = session.run(accuracy, feed_dict={
x: valid_features,
y: valid_labels,
keep_prob: 1.})
print('Loss: {:>10.4f} | Validation Accuracy: {:.4f}'.format(
loss,
valid_acc))
pass
Tune the following parameters:
epochs
to the number of iterations until the network stops learning or start overfittingbatch_size
to the highest number that your machine has memory for. Most people set them to common sizes of memory:keep_probability
to the probability of keeping a node using dropout# TODO: Tune Parameters
'''epochs = None
batch_size = None
keep_probability = None'''
epochs = 100
batch_size = 256
keep_probability = 0.5
Instead of training the neural network on all the CIFAR-10 batches of data, let's use a single batch. This should save time while you iterate on the model to get a better accuracy. Once the final validation accuracy is 50% or greater, run the model on all the data in the next section.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import time
print('Checking the Training on a Single Batch...:')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer())
# Training cycle
for epoch in range(epochs):
batch_i = 1
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
start_time = time.time()
print_stats(sess, batch_features, batch_labels, cost, accuracy)
print("Time Taken : ", (time.time() - start_time)*10, " seconds" )
Now that you got a good accuracy with a single CIFAR-10 batch, try it with all five batches.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
save_model_path = './image_classification'
print('Training...')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer())
# Training cycle
for epoch in range(epochs):
# Loop over all batches
n_batches = 5
for batch_i in range(1, n_batches + 1):
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
print_stats(sess, batch_features, batch_labels, cost, accuracy)
# Save Model
saver = tf.train.Saver()
save_path = saver.save(sess, save_model_path)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import tensorflow as tf
import pickle
import helper
import random
# Set batch size if not already set
try:
if batch_size:
pass
except NameError:
batch_size = 64
save_model_path = './image_classification'
n_samples = 4
top_n_predictions = 3
def test_model():
"""
Test the saved model against the test dataset
"""
test_features, test_labels = pickle.load(open('preprocess_training.p', mode='rb'))
loaded_graph = tf.Graph()
with tf.Session(graph=loaded_graph) as sess:
# Load model
loader = tf.train.import_meta_graph(save_model_path + '.meta')
loader.restore(sess, save_model_path)
# Get Tensors from loaded model
loaded_x = loaded_graph.get_tensor_by_name('x:0')
loaded_y = loaded_graph.get_tensor_by_name('y:0')
loaded_keep_prob = loaded_graph.get_tensor_by_name('keep_prob:0')
loaded_logits = loaded_graph.get_tensor_by_name('logits:0')
loaded_acc = loaded_graph.get_tensor_by_name('accuracy:0')
# Get accuracy in batches for memory limitations
test_batch_acc_total = 0
test_batch_count = 0
for train_feature_batch, train_label_batch in helper.batch_features_labels(test_features, test_labels, batch_size):
test_batch_acc_total += sess.run(
loaded_acc,
feed_dict={loaded_x: train_feature_batch, loaded_y: train_label_batch, loaded_keep_prob: 1.0})
test_batch_count += 1
print('Testing Accuracy: {}\n'.format(test_batch_acc_total/test_batch_count))
# Print Random Samples
random_test_features, random_test_labels = tuple(zip(*random.sample(list(zip(test_features, test_labels)), n_samples)))
random_test_predictions = sess.run(
tf.nn.top_k(tf.nn.softmax(loaded_logits), top_n_predictions),
feed_dict={loaded_x: random_test_features, loaded_y: random_test_labels, loaded_keep_prob: 1.0})
helper.display_image_predictions(random_test_features, random_test_labels, random_test_predictions)
test_model()
You might be wondering why you can't get an accuracy any higher. First things first, 50% isn't bad for a simple CNN. Pure guessing would get you 10% accuracy. That's because there are many more techniques that can be applied to your model and we recemmond that once you are done with this project, you explore!
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "image_classification.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


‘Submit digital life certificates’
by Staff ReporterThe Employees Provident Fund Organisation, Chennai, has said that all pensioners under the Employees’ Pension Scheme have to submit digital life certificates every year during November/December at the bank branches they are drawing their pension.


In this project, we're going to make a maze game.
1) Make a background and design your maze using one color. Remember; let your creativity flow! Feel free to make any design you like, as long as you leave a white path to follow.
2) Choose a sprite to solve your maze; make the sprite fit your game and teleport to the starting point of your maze when the green flag is pressed.
3) Give your character movement, and map the 4 directional arrow keys to their respective motions. Make sure to prevent your sprite from rotating, so he doesn't accidentally hit a maze wall.
4) Make it so that every time your sprite touches a wall of the maze, your sprite gets teleported back to the starting point.
5) Make a second level for your maze game. Create a variable called level and make it start at one when the green flag is pressed.
6) Make a finish spot on your first level. Also make it so that when you get to the finish spot, the game switches to the second level. (Hint: You are going to need to go back and change a few things to do this).
7) Make it so that when your character touches the finish spot on the second level, the game is won. (Hint: there are many ways to convey the message that the player has won, feel free to do it any way you like!)
8) Share your game publicly by clicking the share button in the top-right corner and submit it below.


| |
The Knill/Green House was first the home of Thomas and Martha Knill who immigrated from England to northern Colorado around 1884. They moved to this house in 1904. Mr. Knill was a mining engineer and a town trustee from 1906-1907. John and Elizabeth Green began living in the house in the mid 1940s. John Green was also a mining engineer. Mrs. Green resided in the house until her death. A Green grandson co-owns the house now.
The house is an excellent example of the gabled frame type of building that provided housing for Lafayette merchants, mining engineers and other professionals. It features a clapboard exterior, bay windows with flared eaves, and double-hung windows with pedimented window heads. The garage and shed at the alley are an excellent example of outbuildings constructed at alleys in the early 20th century in Lafayette. |
|


| PS -Political Science |
| NR |
13607 |
PS |
1005 |
001 |
24M |
3.000 |
Introduction to American Politics |
MWF |
09:10 am-10:05 am |
25 |
24 |
1 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
PH 212 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| C |
13447 |
PS |
1005 |
002 |
24M |
3.000 |
Introduction to American Politics |
MW |
02:20 pm-03:45 pm |
25 |
25 |
0 |
0 |
0 |
0 |
Sekou Macec-Mustafa Franklin (P) |
01/17-05/04 |
PH 212 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
15592 |
PS |
1005 |
003 |
24M |
3.000 |
Introduction to American Politics |
TR |
08:00 am-09:25 am |
36 |
25 |
11 |
0 |
0 |
0 |
Stephen Leslie Robertson (P) |
01/17-05/04 |
PH 211 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
13448 |
PS |
1005 |
004 |
24M |
3.000 |
Introduction to American Politics |
TR |
11:20 am-12:45 pm |
36 |
32 |
4 |
0 |
0 |
0 |
Stephen Leslie Robertson (P) |
01/17-05/04 |
PH 211 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
13609 |
PS |
1005 |
005 |
24M |
3.000 |
(EXL)Introduction to American Politics |
TR |
02:40 pm-04:05 pm |
36 |
29 |
7 |
0 |
0 |
0 |
James Kent Syler (P) |
01/17-05/04 |
PH 211 |
Experiential Learning and Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
17595 |
PS |
1005 |
006 |
24M |
3.000 |
Introduction to American Politics |
MWF |
10:20 am-11:15 am |
17 |
5 |
12 |
20 |
8 |
12 |
Robb A McDaniel (P) |
01/17-05/04 |
PH 212 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
12616 |
PS |
1005 |
D01 |
24M |
3.000 |
Introduction to American Politics |
|
TBA |
25 |
24 |
1 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Tutoring Courses and Distance Education Fee-UG and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| C |
14130 |
PS |
1005 |
H01 |
24M |
3.000 |
(HONORS)American Government and Politics |
MWF |
10:20 am-11:15 am |
3 |
3 |
0 |
20 |
8 |
12 |
Robb A McDaniel (P) |
01/17-05/04 |
PH 212 |
University Honors and Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
14486 |
PS |
1010 |
001 |
24M |
3.000 |
Introduction to Global Politics |
MWF |
09:10 am-10:05 am |
36 |
10 |
26 |
0 |
0 |
0 |
Cassiah Nicole Stinson (P) |
01/17-05/04 |
PH 211 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
10140 |
PS |
1010 |
002 |
24M |
3.000 |
Introduction to Global Politics |
MWF |
10:20 am-11:15 am |
36 |
34 |
2 |
0 |
0 |
0 |
Cassiah Nicole Stinson (P) |
01/17-05/04 |
PH 211 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
10141 |
PS |
1010 |
003 |
24M |
3.000 |
Introduction to Global Politics |
TR |
08:00 am-09:25 am |
28 |
21 |
7 |
0 |
0 |
0 |
Steve R Saunders (P) |
01/17-05/04 |
PH 215 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| C |
13248 |
PS |
1010 |
004 |
24M |
3.000 |
Introduction to Global Politics |
TR |
11:20 am-12:45 pm |
28 |
28 |
0 |
0 |
0 |
0 |
Steve R Saunders (P) |
01/17-05/04 |
PH 215 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| C |
13249 |
PS |
1010 |
005 |
24M |
3.000 |
Introduction to Global Politics |
TR |
01:00 pm-02:25 pm |
25 |
25 |
0 |
0 |
0 |
0 |
Steve R Saunders (P) |
01/17-05/04 |
PH 215 |
Tutoring Courses and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| NR |
10142 |
PS |
1010 |
D01 |
24M |
3.000 |
Introduction to Global Politics |
|
TBA |
20 |
19 |
1 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Tutoring Courses and Distance Education Fee-UG and GE Current: Social/Behavioral and Gen Ed - Soc/Beh Science Block and Credit from 4-Year College |
| C |
15815 |
PS |
2000 |
D01 |
24M |
1.000 |
Political Science and International Relations as a Profession |
|
TBA |
15 |
15 |
0 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Distance Education Fee-UG and Credit from 4-Year College |
| C |
15971 |
PS |
2000 |
D02 |
24M |
1.000 |
Political Science and International Relations as a Profession |
|
TBA |
15 |
15 |
0 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Distance Education Fee-UG and Credit from 4-Year College |
| C |
17347 |
PS |
2000 |
D03 |
24M |
1.000 |
Political Science and International Relations as a Profession |
|
TBA |
9 |
13 |
-4 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Distance Education Fee-UG and Credit from 4-Year College |
| C |
12733 |
PS |
2020 |
D01 |
24M |
3.000 |
State and Local Government |
|
TBA |
20 |
20 |
0 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Distance Education Fee-UG and Credit from 4-Year College |
| NR |
14131 |
PS |
2100 |
001 |
24M |
1.000 |
(EXL)Legal Courtroom Procedure |
R |
06:00 pm-09:00 pm |
36 |
4 |
32 |
46 |
5 |
41 |
Jennifer R Woodward (P) |
01/17-05/04 |
PH 211 |
Experiential Learning and Credit from 4-Year College |
| |
|
|
|
|
|
|
|
R |
06:05 pm-09:00 pm |
|
|
|
|
|
|
Jennifer R Woodward (P) |
01/17-05/04 |
PH 212 |
Experiential Learning and Credit from 4-Year College |
| NR |
16545 |
PS |
2100 |
H01 |
24M |
1.000 |
(HONORS) Legal Courtroom Procedure |
R |
06:00 pm-09:00 pm |
10 |
1 |
9 |
46 |
5 |
41 |
John R Vile (P) |
01/17-05/04 |
PH 211 |
University Honors and Credit from 4-Year College |
| |
|
|
|
|
|
|
|
R |
06:05 pm-09:00 pm |
|
|
|
|
|
|
John R Vile (P) |
01/17-05/04 |
PH 212 |
University Honors and Credit from 4-Year College |
| NR |
14460 |
PS |
2130 |
001 |
24M |
1.000 |
(EXL)Model United Nations and Crisis Simulation |
T |
04:20 pm-05:45 pm |
25 |
7 |
18 |
0 |
0 |
0 |
Vanessa Ann Lefler (P) |
01/17-05/04 |
PH 212 |
Experiential Learning and Credit from 4-Year College |
| NR |
15999 |
PS |
2440 |
001 |
24M |
3.000 |
Law and the Legal System |
MW |
12:40 pm-02:05 pm |
36 |
27 |
9 |
0 |
0 |
0 |
Donald E Campbell (P) |
01/17-05/04 |
PH 211 |
Credit from 4-Year College |
| NR |
12482 |
PS |
2440 |
002 |
24M |
3.000 |
Law and the Legal System |
TR |
08:00 am-09:25 am |
25 |
9 |
16 |
0 |
0 |
0 |
Donald E Campbell (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College |
| NR |
12617 |
PS |
2440 |
003 |
24M |
3.000 |
Law and the Legal System |
M |
06:00 pm-09:00 pm |
36 |
12 |
24 |
0 |
0 |
0 |
Christopher Alan Beverly (P) |
01/17-05/04 |
PH 211 |
Credit from 4-Year College |
| NR |
12483 |
PS |
3001 |
001 |
24M |
3.000 |
Research Methods in Political Science |
MW |
12:40 pm-02:05 pm |
20 |
16 |
4 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
PH 205 |
Tutoring Courses and Credit from 4-Year College and Upper-Division Work |
| C |
13127 |
PS |
3001 |
002 |
24M |
3.000 |
Research Methods in Political Science |
TR |
09:40 am-11:05 am |
15 |
19 |
-4 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
PH 205 |
Tutoring Courses and Credit from 4-Year College and Upper-Division Work |
| NR |
15104 |
PS |
3160 |
001 |
24M |
3.000 |
American Public Policy |
MWF |
11:30 am-12:25 pm |
25 |
23 |
2 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| C |
15105 |
PS |
3210 |
001 |
24M |
3.000 |
International Relations |
TR |
01:00 pm-02:25 pm |
25 |
25 |
0 |
0 |
0 |
0 |
Vanessa Ann Lefler (P) |
01/17-05/04 |
PH 205 |
Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
13614 |
PS |
3220 |
001 |
24M |
3.000 |
Comparative Politics |
MWF |
09:10 am-10:05 am |
28 |
22 |
6 |
0 |
0 |
0 |
Zhen Wang (P) |
01/17-05/04 |
PH 215 |
Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
16546 |
PS |
3220 |
002 |
24M |
3.000 |
Comparative Politics |
MWF |
10:20 am-11:15 am |
28 |
25 |
3 |
0 |
0 |
0 |
Zhen Wang (P) |
01/17-05/04 |
PH 215 |
Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
13616 |
PS |
3250 |
001 |
24M |
3.000 |
Public Administration |
TR |
09:40 am-11:05 am |
28 |
24 |
4 |
0 |
0 |
0 |
George Vernardakis (P) |
01/17-05/04 |
PH 215 |
Credit from 4-Year College and Upper-Division Work |
| C |
15112 |
PS |
3320 |
D01 |
24M |
3.000 |
Public Opinion |
|
TBA |
20 |
20 |
0 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Distance Learning and Distance Education Fee-UG and Credit from 4-Year College and Upper-Division Work |
| NR |
15113 |
PS |
3340 |
001 |
24M |
3.000 |
(EXL)Political Campaign Management. |
TR |
04:20 pm-05:45 pm |
36 |
30 |
6 |
0 |
0 |
0 |
James Kent Syler (P) |
01/17-05/04 |
PH 211 |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
12484 |
PS |
3380 |
001 |
24M |
3.000 |
American Constitutional Law |
MW |
02:20 pm-03:45 pm |
36 |
33 |
3 |
0 |
0 |
0 |
Jennifer R Woodward (P) |
01/17-05/04 |
PH 211 |
Credit from 4-Year College and Upper-Division Work |
| NR |
13618 |
PS |
3380 |
002 |
24M |
3.000 |
American Constitutional Law |
TR |
08:00 am-09:25 am |
28 |
14 |
14 |
0 |
0 |
0 |
Jennifer R Woodward (P) |
01/17-05/04 |
PH 205 |
Credit from 4-Year College and Upper-Division Work |
| C |
14133 |
PS |
3420 |
001 |
24M |
3.000 |
African American Politics |
MW |
12:40 pm-02:05 pm |
15 |
16 |
-1 |
35 |
18 |
17 |
Sekou Macec-Mustafa Franklin (P) |
01/17-05/04 |
PH 212 |
African American Studies and Credit from 4-Year College and Upper-Division Work |
| C |
14518 |
PS |
3510 |
R50 |
24R |
3.000 |
International Political Economy |
|
TBA |
0 |
11 |
-11 |
0 |
0 |
0 |
RODP Faculty (P), Steven Greene Livingston |
01/17-05/03 |
TBA TBA |
TN eCampus (formerly RODP) and Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
15117 |
PS |
3530 |
001 |
24M |
3.000 |
Legal Writing and Research |
M |
06:00 pm-09:00 pm |
25 |
8 |
17 |
0 |
0 |
0 |
Darwin K Colston (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| NR |
13619 |
PS |
3530 |
002 |
24M |
3.000 |
Legal Writing and Research |
TR |
01:00 pm-02:25 pm |
36 |
35 |
1 |
0 |
0 |
0 |
Donald E Campbell (P) |
01/17-05/04 |
PH 211 |
Credit from 4-Year College and Upper-Division Work |
| NR |
13622 |
PS |
3910 |
001 |
24M |
3.000 |
International Organization |
TR |
02:40 pm-04:05 pm |
28 |
15 |
13 |
0 |
0 |
0 |
George Vernardakis (P) |
01/17-05/04 |
PH 215 |
Credit from 4-Year College and Upper-Division Work |
| C |
12270 |
PS |
4030 |
001 |
24M |
3.000 |
Human Rights |
T |
02:40 pm-05:40 pm |
15 |
15 |
0 |
20 |
18 |
2 |
John W Maynor (P) |
01/17-05/04 |
PH 319 |
Global Studies-Gender and Global Studies-Governance and Global Studies-Human Diversity and Credit from 4-Year College and Upper-Division Work |
| NR |
10215 |
PS |
4040 |
001 |
24M |
3.000 |
(EXL) Pre-Law Internship |
|
TBA |
10 |
2 |
8 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
12639 |
PS |
4180 |
001 |
24M |
3.000 |
African Politics |
MW |
12:40 pm-02:05 pm |
23 |
12 |
11 |
0 |
0 |
0 |
Moses K Tesi (P) |
01/17-05/04 |
PH 215 |
African American Studies and Credit from 4-Year College and Upper-Division Work |
| C |
17426 |
PS |
4200 |
001 |
24M |
3.000 |
Problems in Government:Chinese Politics |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
Zhen Wang (P) |
01/17-05/04 |
TBA TBA |
Credit from 4-Year College and Upper-Division Work |
| C |
17643 |
PS |
4200 |
002 |
24M |
3.000 |
Problems in Government:American Foreign Policy |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
TBA TBA |
Credit from 4-Year College and Upper-Division Work |
| C |
17659 |
PS |
4200 |
003 |
24M |
3.000 |
Problems in Government:Political Status of Women |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
Stephen Leslie Robertson (P) |
01/17-05/04 |
TBA TBA |
Credit from 4-Year College and Upper-Division Work |
| C |
13623 |
PS |
4260 |
001 |
24M |
3.000 |
The Political Status of Women in the World |
TR |
02:40 pm-04:05 pm |
20 |
21 |
-1 |
0 |
0 |
0 |
Stephen Leslie Robertson (P) |
01/17-05/04 |
COE 240 |
Women's & Gender Studies and Global Studies-Gender and Credit from 4-Year College and Upper-Division Work |
| NR |
10220 |
PS |
4270 |
001 |
24M |
3.000 |
(EXL)Political Campaign, NGO, and Interest Group Internship |
|
TBA |
10 |
5 |
5 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
10223 |
PS |
4270 |
002 |
24M |
6.000 |
(EXL)Political Campaign, NGO, and Interest Group Internship |
|
TBA |
10 |
4 |
6 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
12088 |
PS |
4280 |
001 |
24M |
12.000 |
(EXL) The Washington Experience |
|
TBA |
10 |
4 |
6 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
10225 |
PS |
4290 |
001 |
24M |
3.000 |
(EXL) Public Service Internship |
|
TBA |
10 |
3 |
7 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
10226 |
PS |
4290 |
002 |
24M |
6.000 |
(EXL)Public Service Internship |
|
TBA |
10 |
1 |
9 |
0 |
0 |
0 |
Lisa G Langenbach (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
14743 |
PS |
4290 |
003 |
24M |
3.000 |
(EXL)Public Service Internship:Legislative Interns |
|
TBA |
10 |
2 |
8 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
14744 |
PS |
4290 |
005 |
24M |
9.000 |
(EXL)Public Service Internship:Legislative Interns |
|
TBA |
10 |
2 |
8 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
10232 |
PS |
4360 |
001 |
24M |
12.000 |
(EXL) Legislative Internship |
|
TBA |
10 |
6 |
4 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
13624 |
PS |
4590 |
001 |
24M |
3.000 |
Administrative Law |
MW |
04:10 pm-05:35 pm |
25 |
16 |
9 |
0 |
0 |
0 |
George Vernardakis (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| NR |
16555 |
PS |
4690 |
001 |
24M |
3.000 |
International Relations of the Middle East |
TR |
09:40 am-11:05 am |
24 |
15 |
9 |
25 |
16 |
9 |
Moses K Tesi (P) |
01/17-05/04 |
PH 212 |
Middle East Studies and Credit from 4-Year College and Upper-Division Work |
| C |
14140 |
PS |
4770 |
001 |
24M |
3.000 |
Russian Politics |
TR |
11:20 am-12:45 pm |
20 |
24 |
-4 |
25 |
25 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| NR |
12499 |
PS |
4800 |
001 |
24M |
3.000 |
(EXL) Senior Seminar |
TR |
11:20 am-12:45 pm |
20 |
19 |
1 |
0 |
0 |
0 |
John W Maynor (P) |
01/17-05/04 |
PH 205 |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
12509 |
PS |
4800 |
002 |
24M |
3.000 |
(EXL) Senior Seminar |
TR |
01:00 pm-02:25 pm |
20 |
15 |
5 |
0 |
0 |
0 |
John W Maynor (P) |
01/17-05/04 |
PH 212 |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
14144 |
PS |
4801 |
001 |
24M |
3.000 |
Senior Seminar in International Relations |
TR |
02:40 pm-04:05 pm |
20 |
10 |
10 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
PH 205 |
Credit from 4-Year College and Upper-Division Work |
| NR |
12640 |
PS |
4820 |
001 |
24M |
3.000 |
(EXL)Adv Studies in Amer Politics:Advertising, Communication, and Comedy in Modern American Politics |
W |
06:00 pm-09:00 pm |
22 |
13 |
9 |
36 |
22 |
14 |
James Kent Syler (P) |
01/17-05/04 |
PH 211 |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| NR |
16806 |
PS |
4850 |
S01 |
24M |
3.000 |
(Study Abroad)Advanced Studies in Comparative Politics:Cuba in the 21st Century |
|
TBA |
10 |
4 |
6 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Study Abroad and Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
16556 |
PS |
4860 |
001 |
24M |
3.000 |
Advanced Studies in International Relations:International Migration |
MW |
02:20 pm-03:45 pm |
27 |
13 |
14 |
0 |
0 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
PH 215 |
Global Studies-Governance and Credit from 4-Year College and Upper-Division Work |
| NR |
16557 |
PS |
4870 |
001 |
24M |
3.000 |
Advanced Studies in Political Theory:Totalitarianism |
TR |
02:40 pm-04:05 pm |
24 |
9 |
15 |
25 |
10 |
15 |
Robb A McDaniel (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| NR |
10236 |
PS |
4920 |
001 |
24M |
3.000 |
Modern Political Theory |
TR |
09:40 am-11:05 am |
36 |
35 |
1 |
0 |
0 |
0 |
Robb A McDaniel (P) |
01/17-05/04 |
PH 211 |
Great Books and Credit from 4-Year College and Upper-Division Work |
| C |
17377 |
PS |
4950 |
001 |
24M |
3.000 |
(EXL)Community-Based Research Practicum:Citizen Journalism & Politics at the Grassroots |
|
TBA |
3 |
4 |
-1 |
0 |
0 |
0 |
Sekou Macec-Mustafa Franklin (P) |
01/17-05/04 |
TBA TBA |
Experiential Learning and Credit from 4-Year College and Upper-Division Work |
| C |
17423 |
PS |
4970 |
001 |
24M |
3.000 |
Undergraduate Research:Authoritarianism |
T |
04:30 pm-07:30 pm |
1 |
1 |
0 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Credit from 4-Year College and Upper-Division Work |
| C |
14884 |
PS |
5030 |
001 |
24M |
3.000 |
Human Rights |
T |
02:40 pm-05:40 pm |
2 |
3 |
-1 |
20 |
18 |
2 |
John W Maynor (P) |
01/17-05/04 |
PH 319 |
Credit from 4-Year College and Upper-Division Work |
| C |
17516 |
PS |
5200 |
001 |
24M |
3.000 |
Problems in Government:Totalitarianism |
TR |
02:40 pm-04:05 pm |
1 |
1 |
0 |
25 |
10 |
15 |
Robb A McDaniel (P) |
01/17-05/04 |
PH 212 |
|
| C |
17574 |
PS |
5360 |
001 |
24M |
6.000 |
Legislative Internship |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
David Edward Carleton (P) |
01/17-05/04 |
TBA TBA |
|
| C |
17578 |
PS |
5690 |
001 |
24M |
3.000 |
International Relations of the Middle East |
TR |
09:40 am-11:05 am |
1 |
1 |
0 |
25 |
16 |
9 |
Moses K Tesi (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| C |
14145 |
PS |
5770 |
001 |
24M |
3.000 |
Russian Politics |
TR |
11:20 am-12:45 pm |
5 |
1 |
4 |
25 |
25 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
PH 212 |
Credit from 4-Year College and Upper-Division Work |
| C |
17374 |
PS |
6110 |
001 |
24M |
3.000 |
International Security in a Changing World |
TR |
08:00 am-09:25 am |
1 |
1 |
0 |
0 |
0 |
0 |
Vanessa Ann Lefler (P) |
01/17-05/04 |
TBA TBA |
Credit from 4-Year College and Upper-Division Work |
| NR |
15119 |
PS |
6120 |
001 |
24M |
3.000 |
Peace and Conflict Resolution: Concepts, Processes, and Consequences |
R |
04:30 pm-07:30 pm |
15 |
6 |
9 |
0 |
0 |
0 |
Vanessa Ann Lefler (P) |
01/17-05/04 |
PH 205 |
Credit from 4-Year College and Upper-Division Work |
| NR |
13656 |
PS |
6200 |
001 |
24M |
3.000 |
Seminar in Comparative Politics |
W |
04:30 pm-07:30 pm |
15 |
7 |
8 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
PH 205 |
|
| NR |
13681 |
PS |
6210 |
001 |
24M |
3.000 |
Global Political Economy and Globalization |
M |
04:30 pm-07:30 pm |
15 |
5 |
10 |
0 |
0 |
0 |
Steven Greene Livingston (P) |
01/17-05/04 |
PH 205 |
Credit from 4-Year College and Upper-Division Work |
| NR |
16558 |
PS |
6220 |
001 |
24M |
3.000 |
Seminar in International Development |
T |
04:30 pm-07:30 pm |
15 |
3 |
12 |
0 |
0 |
0 |
Moses K Tesi (P) |
01/17-05/04 |
PH 205 |
Credit from 4-Year College and Upper-Division Work |
| NR |
17174 |
PS |
6250 |
S01 |
24M |
3.000 |
Special Topics in International Development and Globalization:Cuba in the 21st Century |
|
TBA |
10 |
4 |
6 |
0 |
0 |
0 |
Stephen David Morris (P) |
01/17-05/04 |
TBA TBA |
Study Abroad and Credit from 4-Year College and Upper-Division Work |
| C |
17333 |
PS |
6290 |
001 |
24M |
6.000 |
Practicum in International Affairs |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
Vanessa Ann Lefler (P) |
01/17-05/04 |
TBA TBA |
|
| C |
17386 |
PS |
6290 |
002 |
24M |
6.000 |
Practicum in International Affairs |
|
TBA |
1 |
3 |
-2 |
0 |
0 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
TBA TBA |
|
| C |
17354 |
PS |
6640 |
001 |
24M |
1.000 |
Thesis Research |
|
TBA |
1 |
1 |
0 |
0 |
0 |
0 |
Andrei Vladimir Korobkov (P) |
01/17-05/04 |
TBA TBA |
|