cs theory