%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
if Session("SLCT_HPS_Geo")<>"" then
SEssion("SLCT_HPS_Geo")=""
end if
if Session("SLCT_HPS_GRD")<>"" then
SEssion("SLCT_HPS_GRD")=""
end if
if Session("SLCT_HPS_CAT")<>"" then
SEssion("SLCT_HPS_CAT")=""
end if
if Session("SLCT_HPS_DATE")<>"" then
SEssion("SLCT_HPS_DATE")=""
end if
%>
<%
if Request("SLCT_HPS_Geo")<>"" then
Request("SLCT_HPS_Geo")=""
end if
if Request("SLCT_HPS_GRD")<>"" then
Request("SLCT_HPS_GRD")=""
end if
if Request("SLCT_HPS_CAT")<>"" then
Request("SLCT_HPS_CAT")=""
end if
if Request("SLCT_HPS_DATE")<>"" then
Request("SLCT_HPS_DATE")=""
end if
if Request("sort")<>"" then
Request("sort")=""
end if
%>
<%
if Session("pRegion") <> "" then
Session("pRegion") = ""
End If
if Session("pNeighborhood")<>"" then
Session("pNeighborhood")=""
end if
if Session("pIndicator")<>"" then
Session("pIndicator")=""
end if
if Session("pGeoCode")<>"" then
Session("pGeoCode")=""
end if
if Session("pickFile")<>"" then
Session("pickFile")=""
end if
if Session("pKey")<>"" then
Session("pKey")=""
end if
%>
<%
if Request("pIssues")<>"" then
Session("pIssues")=Request("pIssues")
end if
if Request("pRegion")<>"" then
Session("pRegion")=Request("pRegion")
end if
if Request("pNeighborhood")<>"" then
Session("pNeighborhood")=Request("pNeighborhood")
end if
if Request("pIndicator")<>"" then
Session("pIndicator")=Request("pIndicator")
end if
if Request("pGeoCode")<>"" then
Session("pGeoCode")=Request("pGeoCode")
end if
if Request("pWorkforce")<>"" then
Session("pWorkforce")=Request("pWorkforce")
end if
if Request("pKey")<>"" then
Session("pKey")=Request("pKey")
end if
%>
Notes and Information - Hartford Public Schools - HartfordInfo.org
<% Class MX_Menu
Private menuName
Private menuDepthSeparator
Private menuItems
Private DBItems ' cache items from database
Private previousItemLevel
Private menuLevel
Private menuHighlight
Private isStatic
Private menuOutput
Private MenuRecordset
Private menuPK
Private menuFK
Private menuNameField
Private menuLink
Private menuURLParameter
Private menuTarget
Private menuTitleField
Private menuLinkField
Private menuTargetField
Private hasDynamicURL
' div-related properties
Private menuSkin
Private menuLayout
Private menuShowTimeout
Private menuHideTimeout
Private menuImgReplace
Private menuImgReplaceStyle
Private menuImgDir
Private menuImgNames
' end div-related properties
Private Sub Class_Initialize()
menuDepthSeparator = " "
menuItems = Array()
Set DBItems = Server.CreateObject("Scripting.Dictionary") ' cache db items into a dictionary structure rather then an Array
previousItemLevel = -1
menuLevel = -1 ' no level limitation
menuHighlight = false
isStatic = true
hasDynamicURL = false
menuOutput = ""
' div-related defaults
menuSkin = "default"
menuLayout = "horizontal"
menuShowTimeout = "40"
menuHideTimeout = "400"
menuImgReplace = "no"
menuImgReplaceStyle = "img"
menuImgDir = ""
menuImgNames = ""
End Sub
Private Sub Class_terminate()
Set menuItems = nothing
End Sub
Public Sub Init (mName)
menuName = mName
End Sub
Public Sub highlightCurrent(boolHighlight)
menuHighlight = boolHighlight
End Sub
Public sub setQuery(query)
If not IsObject(query) Then
Response.write "Please use a valid recordset object"
Response.End()
End If
Set MenuRecordset = query
' reset the cursor to the beginning
isStatic = false
End Sub
Public Sub setPK (pk)
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(pk)
If err.number<>0 Then
Response.write "Primary key specified '" & pk & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuPK = pk
End Sub
Public Sub setFK (fk)
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(fk)
If err.number<>0 Then
Response.write "Foreign key specified '" & fk & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuFK = fk
End Sub
Public Sub setNameField (nField)
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(nField)
If err.number<>0 Then
Response.write "Name field specified '" & nField & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuNameField = nField
End Sub
Public Sub setLink (mLink)
menuLink = mLink
End Sub
Public Sub setURLParameter (urlParam)
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(urlParam)
If err.number<>0 Then
Response.write "URL field specified '" & urlParam & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuURLParameter = urlParam
End Sub
Public Sub setTarget (mTarget)
menuTarget = mTarget
End Sub
Public Sub setTitleField (tField)
If tField = "" Then
Exit Sub
End If
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(tField)
If err.number<>0 Then
Response.write "Title field specified '" & tField & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuTitleField = tField
End Sub
Public Sub setLinkField (lField)
hasDynamicURL = true
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(lField)
If err.number<>0 Then
Response.write "Link field specified '" & lField & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuLinkField = lField
End Sub
Public Sub setTargetField (tgField)
If tgField = "" Then
Exit Sub
End If
IF not MenuRecordset.EOF Then
On Error resume next
val = MenuRecordset(tgField)
If err.number<>0 Then
Response.write "Target field specified '" & tgField & "' is not a recordset column"
Response.End()
End If
On Error GoTo 0
End If
menuTargetField = tgField
End Sub
Public Sub setLevel (mLevel)
' can be negative -> all records
menuLevel = mLevel
End Sub
' div-related setters
Public Sub setSkin (mSkin)
menuSkin = mSkin
End Sub
Public Sub setLayout (mLayout)
If lcase(mLayout) = "tab" Then
menuLayout = "horizontal2"
Else
menuLayout = mLayout
End If
End Sub
Public Sub setShowTimeout (mShowTimeout)
menuShowTimeout = mShowTimeout
End Sub
Public Sub setHideTimeout (mHideTimeout)
menuHideTimeout = mHideTimeout
End Sub
Public Sub setImgReplace (mImgReplace)
If mImgReplace Then
menuImgReplace = "yes"
Else
menuImgReplace = "no"
End If
End Sub
Public Sub setImgReplaceStyle (mImgReplaceStyle)
menuImgReplaceStyle = mImgReplaceStyle
End Sub
Public Sub setImgDir (mImgDir)
menuImgDir = Server.URLEncode(mImgDir)
End Sub
Public Sub setImgNames (mImgNames)
menuImgNames = Server.URLEncode(mImgNames)
End Sub
' end div-related setters
Public Sub addItem (itemName, itemURL, itemTitle, itemTarget)
' sets static menu renderer
iName = itemName
isStatic = true
level = 0
do while instr(iName, menuDepthSeparator) = 1
level = level + 1
iName = mid (iName, 2)
loop
useThisEntry = true
If (level > previousItemLevel) and ((level - previousItemLevel) > 1) Then
useThisEntry = false ' / ignore this entry because more than 2 spaces from the previous level have been detected
level = previousItemLevel + 1
End If
If useThisEntry Then
Dim myItem: Set myItem = Server.CreateObject("Scripting.Dictionary")
myItem("itemName") = trim(iName)
myItem("itemURL") = trim(itemURL)
myItem("itemLevel") = level
myItem("itemTitle") = itemTitle
myItem("itemTarget") = itemTarget
menuItems = array_push_obj_CSSMfnc(menuItems, myItem)
previousItemLevel = level
End If
End Sub
Public Function render()
If menuOutput <> "" Then
render = menuOutput
Exit Function
End If
If isStatic Then
menuOutput = renderStatic
Else
menuOutput = renderDynamic
End If
If ubound(menuItems) < 0 Then
render = "No data to render"
Exit Function
End If
render = menuOutput
End Function
Private Function renderStatic
Dim objReturnString: Set objReturnString = new MX_Menu_StringBuilder
objReturnString.Concat "
" & vbNewLine & _
"
" & vbNewLine
objReturnString.Concat "
" & vbNewLine
' limit the output level for tab layout
If menuLayout = "horizontal2" Then
menuLevel = 2
tmpArray = Array()
For i=0 to ubound(menuItems)
If menuItems(i)("itemLevel") < menuLevel Then
tmpArray = array_push_obj_CSSMfnc(tmpArray, menuItems(i))
End If
Next
menuItems = tmpArray
End If
nextItemLevel = 0
For i=0 to ubound(menuItems)
Set myItem = menuItems(i)
If i < (ubound(menuItems)) Then
nextItemLevel = menuItems(i+1)("itemLevel")
Else
nextItemLevel = 0
End If
url = myItem("itemURL")
If myItem("itemName")="Community Data" Then
itemLi = "
"
ElseIf myItem("itemName")="FAQ" Then
itemLi = "
"
ElseIf myItem("itemName")="Site Map" Then
itemLi = "
" & vbNewLine
End If
If nextItemLevel < myItem("itemLevel") Then
repeat = myItem("itemLevel") - nextItemLevel
For j=1 to repeat
objReturnString.Concat "
" & vbNewLine
Next
End If
If nextItemLevel > myItem("itemLevel") Then
repeat = nextItemLevel - myItem("itemLevel")
For j=1 to repeat
objReturnString.Concat "
" & vbNewLine
Next
End If
Next
objReturnString.Concat "
" & vbNewLine
objReturnString.Concat "
" & vbNewLine
renderStatic = objReturnString.ToString()
End Function
Private Function isURLAbsolute(url)
If instr(1, url, "http://", 1) = 1 Or instr(1, url, "https://", 1) = 1 Then
isURLAbsolute = True
Else
isURLAbsolute = False
End If
End Function
Private Function isURLRelativeToDoc(url)
If instr(1, url, "/", 1) = 1 or isURLAbsolute(url) Then
isURLRelativeToDoc = False
Else
isURLRelativeToDoc = True
End If
End Function
Private Function checkHighlight(url_par)
urlFromMenu = url_par
checkHighlight = false
url = Request.ServerVariables("URL")
If right(urlFromMenu,1) = "/" Then
urlFromMenu = urlFromMenu & mid(url, instrrev(url, "/")+1)
End If
qstring = Request.ServerVariables("QUERY_STRING")
If qstring <> "" Then
url = url & "?" & qstring
End If
If isURLRelativeToDoc(urlFromMenu) Then
' try to find urlFromMenu in the current pages' url
pos = instr(1, url, urlFromMenu, 1)
If pos <> 0 Then
remain = mid(url, pos+len(urlFromMenu))
If remain = "" Then
checkHighlight = true
menuHighlight = false
End If
End If
Else
' try to match page's url in urlFromMenu
pos = instr(1, urlFromMenu, url, 1)
If pos <> 0 Then
remain = mid(urlFromMenu, pos+len(url))
If remain = "" Then
checkHighlight = true
menuHighlight = false
End If
End If
End If
End Function
Private Function renderDynamic
On Error resume next
MenuRecordset.MoveFirst
On Error GoTo 0
getUnformatedData
formatData 0, 0, menuLevel
renderDynamic = renderStatic
End Function
Private Sub getUnformatedData
Dim idx: idx = 1
while not MenuRecordset.EOF
Dim myItem: Set myItem = Server.CreateObject("Scripting.Dictionary")
myItem("itemName") = trim(MenuRecordset(menuNameField))
myItem("itemLevel") = 0
If hasDynamicURL Then
If menuLinkField = "" Then
Response.write "Please select the Link Field column from the recordset"
Response.End()
End If
myItem("itemURL") = trim(MenuRecordset(menuLinkField))
Else
myItem("itemURL") = trim(menuLink & MenuRecordset(menuURLParameter))
End If
If hasDynamicURL Then
If menuTargetField <> "" Then
myItem("itemTarget") = trim(MenuRecordset(menuTargetField))
Else
myItem("itemTarget") = ""
End If
Else
myItem("itemTarget") = menuTarget ' for build url
End If
If menuTitleField <> "" Then
myItem("itemTitle") = MenuRecordset(menuTitleField)
End If
pk = MenuRecordset(menuPK)
If isnull(MenuRecordset(menuFK)) or MenuRecordset(menuFK) = "" Then
fk = 0
Else
fk = MenuRecordset(menuFK)
End If
Dim myArr: Set myArr = Server.CreateObject("Scripting.Dictionary")
myArr("fk") = fk
myArr("pk") = pk
Set myArr("data") = myItem
' add this item to the cache structures
'Set DBItems(idx) = myArr
'idx = idx + 1
If not isObject (DBItems(fk)) Then
Set DBItems(fk) = Server.CreateObject("Scripting.Dictionary")
End If
Set DBItems(fk)(pk) = myArr
MenuRecordset.MoveNext
wend
End Sub
Private Sub formatData(key, level, maxLevel)
'Dim idx
'For each idx in DBItems
' Set myArr = DBItems(idx)
' pk = myArr("pk")
' fk = myArr("fk")
' If key = fk Then
' myArr("data")("itemLevel") = level
' menuItems = array_push_obj_CSSMfnc(menuItems, myArr("data"))
' DBItems.remove(idx)
' If maxLevel < 0 Or level + 1 < maxLevel Then
' formatData pk, level+1, maxLevel
' End If
' End If
'Next
If isObject (DBItems(key)) Then
For each pk in DBItems(key)
Set myArr = DBItems(key)(pk)
myArr("data")("itemLevel") = level
menuItems = array_push_obj_CSSMfnc(menuItems, myArr("data"))
If maxLevel < 0 Or level + 1 < maxLevel Then
formatData pk, level+1, maxLevel
End If
Next
End If
End Sub
Private Function array_push_obj_CSSMfnc (ByRef m_array, byRef m_item )
Dim initialsize : initialsize = ubound(m_array)
ReDim preserve m_array(initialsize+1)
Set m_array(initialsize+1) = m_item
array_push_obj_CSSMfnc = m_array
End Function
End Class
Class MX_Menu_StringBuilder
Dim arr 'the array of strings to concatenate
Dim growthRate 'the rate at which the array grows
Dim itemCount 'the number of items in the array
Private Sub Class_Initialize()
growthRate = 50
itemCount = 0
ReDim arr(growthRate)
End Sub
Public Sub Concat(ByVal strValue)
If itemCount > UBound(arr) Then
ReDim Preserve arr(UBound(arr) + growthRate)
End If
arr(itemCount) = strValue
itemCount = itemCount + 1
End Sub
Public Function ToString()
ToString = Join(arr, "")
End Function
End Class
%>
<%
Dim useragent, isIE
useragent = Request.ServerVariables("HTTP_USER_AGENT")
isIE = InStr( useragent, "MSIE 6")
if isIE > 0 then
'Static Menu
Dim CSSMenu1: Set CSSMenu1 = new MX_Menu
'start addItem
CSSMenu1.addItem "Web Sites, Documents & Articles", "/issues/default.asp", "", ""
CSSMenu1.addItem " Web Sites & Documents", "/issues/wsd/default.asp", "", ""
CSSMenu1.addItem " News Articles", "/issues/documents/default.asp", "", ""
CSSMenu1.addItem "Community Data", "/community_data.asp", "", ""
CSSMenu1.addItem " City Neighborhoods", "/Snapshots/neighborhood_data.asp?pRegion=Hartford%20Neighborhoods", "", ""
CSSMenu1.addItem " NRZs", "/Snapshots/neighborhood_data.asp?pRegion=Hartford%20NRZs", "", ""
CSSMenu1.addItem " Region", "/Snapshots/neighborhood_data.asp?pRegion=City%20of%20Hartford%20and%20Surrounding%20Region", "", ""
CSSMenu1.addItem " Trends", "/ht/default.asp", "", ""
CSSMenu1.addItem " Schools Data", "/hps/", "", ""
CSSMenu1.addItem " Crime Data", "/hpd/", "", ""
CSSMenu1.addItem " Children and Families Data", "/dcf/", "", ""
CSSMenu1.addItem " Social Services Data", "/dss/", "", ""
CSSMenu1.addItem " Mortgage Data", "/hmda/", "", ""
CSSMenu1.addItem " Vital Statistics Data", "/vital_stats/", "", ""
CSSMenu1.addItem "About HartfordInfo.org", "/about_the_hcdc/the_hcdc.asp", "", ""
CSSMenu1.addItem " Introduction", "/about_the_hcdc/the_hcdc.asp", "", ""
CSSMenu1.addItem " Memberships", "/about_the_hcdc/the_hcdc_memberships.asp", "", ""
CSSMenu1.addItem " Partners", "/about_the_hcdc/the_hcdc_partners.asp", "", ""
CSSMenu1.addItem "FAQ", "/faq/faq.asp", "", ""
CSSMenu1.addItem "Site Map", "/site_map.asp", "", ""
'end addItem
'CSSMenu1 Layout
CSSMenu1.highlightCurrent true
CSSMenu1.setLayout "horizontal"
CSSMenu1.setSkin "aqua_warm"
CSSMenu1.setShowTimeout 100
CSSMenu1.setHideTimeout 400
CSSMenu1.setImgReplace false
'CSSMenu1 End
%>
<%
'Static CSS menu, Layout: horizontal, Skin: aqua_warm
Response.write (CSSMenu1.render)
else
%>
All attendance data available here are averages. Averages are presented for all students in each neighborhood, grade and category. For example, to calculate average attendance, the percentage that each child was present was calculated. These percentages were then averaged for every child that lived in the neighborhood who was in that grade.
These figures do not represent the attendance on the average day, or average attendance at particular schools. For further explanation of some sample results, click here.
Connecticut Academic Performance Test (CAPT) Scores Notes:
Connecticut Academic Performance Test (CAPT) is a statewide examination administered each spring to all 10th grade public school students by the Connecticut State Department of Education. The CAPT measures what students have learned in the areas of mathematics, reading, writing and science.
Connecticut Mastery Test Scores Notes:
The CMT is a statewide examination administered to students in grades 3 to 8. Hartford Public School tested students in the fall of the academic year until 2005-2006, when the test was given in the spring. The CMT tests students in mathematics, reading, and writing. In 2008, students will also be tested in Science.
In the fall of 2004, the state did not administer the Connecticut Mastery Test (CMT) to grades 3-5-7. Districts were given the option of testing students in 3-5-7 with the "off level" version of the CMT, and the Hartford Public Schools did so.
Demographic Data Notes:
For the purposes of this report and in order to preserve student confidentiality, data on ethnicity has been merged into 3 categories: Black, Hispanic, and Other. The Hartford Public Schools collects student-reported data on ethnicity. We have merged the following categories into a larger Hispanic category: Hispanic and Puerto Rican. We have merged the following categories into a larger Other Category: Alaskan/American Indian, Asian, Caucasian, Chinese, Haitian, Other, Portuguese, Vietnamese, and West Indian. The category Black is not merged with any other category.
Where one of the numbers in one of three categories for each neighborhood and grade is 5 or fewer, both that number and number in the second largest category are suppressed, and replaced with an asterisk (*) in order to preserve confidentiality. If two of the three numbers is 5 or less, the numbers in all cells is suppressed, and replaced with an asterisk (*).
Disciplinary Action Data Notes:
In-school Suspension: Disciplinary action during which student is removed from their regular classroom and instead reports to a special suspension classroom or a “thinking room” where students work with teachers to reflect on their behavior.
Out-of-School Suspension: Disciplinary action during which a student is sent home and asked not to return to school for a limited period of time.
Dropouts Notes:
Students may drop out by completing a consent to withdraw form, which a parent signs, and submitting it to the Hartford Public Schools. “Drop-out” is only one of the many terms that can describe an inactivated student. An inactivated student, in addition to “dropping out”, may have transferred out of the system to another school system, been incarcerated, be homeschooled, or be a “whereabouts unknown” student. In 2001, Connecticut raised the mandatory attendance age to 18. Students who are aged 16 to 18 may only dropout with a parents’ permission.
Special Education Data Notes:
All data is reported as a percentage. Students in each neighborhood and grade who received special education, regardless of the service provided, are counted. We have reported the percentage for all students, and for boys and girls separately. Data is suppressed and replaced with an asterisk (*), when the data in one of the cells would represent 5 or fewer students.