Cálculo de Estudante em Tempo Integral (FTE)

Para sabermos o total de indivíduos em uma instituição, a simples contagem é uma medida pobre, pois não considera que alguns dos indivíduos trabalham/estudam em tempo parcial. Isto torna a contagem artificialmente elevada, superestimando custos, etc.

A principal medida adotada para contornar este problema é padronizar os dados para que seja fornecido o número de indivíduos em relação a um referencial, a saber, um estudante ou funcionário em tempo integral. De acordo com o relatório do THE:

1.0 FTE may be thought of as one person working full time for a year, while an FTE of 0.5 means half of a full work or study load. The FTE for a student or staff member could be calculated as the total number of hours worked (or modules studied) during the year, divided by the number of working hours or modules of a full time person.

Em relação aos docentes e técnicos administrativos, a medida é simples de ser adotada, pois as cargas horárias são bem definidas. Por exemplo, toma-se o técnico administrativo em tempo integral como aquele que trabalha 40 horas/semana. Desta forma, um técnico em regime de 30 horas é equivalente a \(30/40 = 0.75\) vezes um técnico em tempo integral.

A complexidade aumenta quando tratamos de estudantes, pelos seguintes motivos:

  1. Não há uma definição clara da carga horária de um estudante full-time. Para um aluno sem reprovações, espera-se que ele cumpra a carga horária relativo ao semestre que se encontra.
  2. Mesmo que um aluno não tenha reprovações, a carga horária pode variar dependendo do semestre que ele se encontra.
  3. Alunos com reprovações estão matriculados em disciplinas de diferentes semestres, a depender dos pré-requisitos, podem ter carga horária elevada ou reduzida em relação ao estudante equivalente ( full-time ).
  4. As disciplinas são ofertadas semestralmente, de modo que entre os dois semetres que constituem o ano, há entrada e saída de estudantes. Os estudantes que colam grau ou desistem entre os semestres, ou ainda, os estudantes que iniciam o curso no segundo semestre devem ter carga horária comparada á do estudante em tempo integral ou a meio estudante em tempo integral?

Dados da Ufersa:

Temos dois conjuntos de dados correspondendo aos estudantes matriculados no primeiro e segundo semestres de 2017, com suas respectivas cargas horárias. Definimos a carga horária de um estudante em tempo integral do curso \(x\) como a carga horária total do curso dividida pelo seu número de semestres.

library(dplyr)
library(readxl)

setwd("C:/Users/erica.santos/workspace/trabalho/THE_rankings/Impact Ranking/")

# Abrir carga horária média por curso:
carga_horaria_cursos_graduacao_ufersa <- read_excel("cargahorariacursosgraduacaoUfersaprograd.xlsx", 
                                                    col_types = c("blank", "text", "blank", 
                                                                  "text", "blank", "blank", "blank", 
                                                                  "blank", "blank", "blank", "blank", 
                                                                  "numeric"))

colnames(carga_horaria_cursos_graduacao_ufersa) <- c("curso","campus","CH_media")

# Abrir conjunto de dados dos alunos 2017.1
alunos_1 = read.csv("./Lista de todos os alunos matriculados em cursos de graduação em 2017.1(com ch_total) sem matriculas status cumpriu.csv", sep=";", header = TRUE)
alunos_1 %>% mutate_if(is.factor, as.character) -> alunos_1

# Abrir conjunto de dados dos alunos 2017.2
alunos_2 = read.csv("./Lista de todos os alunos matriculados em cursos de graduação em 2017.2(com ch_total) sem matriculas status cumpriu.csv", sep=";", header = TRUE)
alunos_2 %>% mutate_if(is.factor, as.character) -> alunos_2

A carga horária total dos cursos apresenta diferenças de acordo com o turno e campus. Por exemplo, o mesmo curso de engenharia pode apresentar cargas horárias diferentes a depender destes fatores. Como nos dados dos alunos não temos o turno em que eles estão matriculados para fazer um inner join por curso, turno e campus, vamos considerar apenas o curso. Para tanto, agrupamos os cursos, tirando a média da carga horária total daqueles que apresentem valores diferentes:

# Pegando cada curso e tirando a média (independente de turno e campus)
carga_horaria_cursos_graduacao_ufersa %>% 
  group_by(curso) %>% 
  summarise(., CH_media = mean(CH_media)) -> carga_horaria_cursos_graduacao_ufersa

carga_horaria_cursos_graduacao_ufersa
## # A tibble: 40 x 2
##    curso                    CH_media
##    <chr>                       <dbl>
##  1 ADMINISTRAÇÃO                333.
##  2 AGRONOMIA                    396 
##  3 ARQUITETURA E URBANISMO      375 
##  4 BIOTECNOLOGIA                422.
##  5 CIÊNCIA DA COMPUTAÇÃO        340 
##  6 CIÊNCIA E TECNOLOGIA         371.
##  7 CIÊNCIAS BIOLÓGICAS          229.
##  8 CIÊNCIAS CONTÁBEIS           333.
##  9 COMPUTAÇÃO                   409.
## 10 COMPUTAÇÃO E INFORMÁTICA     358.
## # ... with 30 more rows

Finalmente, podemos fazer um inner join dos dados dos alunos com os dados da carga horária dos cursos. Assim, teremos uma nova coluna nos dados dos alunos correspondendo à carga horária média do curso em que o aluno está matriculado. Nossos dados agora contém uma nova coluna chamada CH_media:

alunos_1 = inner_join(alunos_1, carga_horaria_cursos_graduacao_ufersa, by="curso")
#names(alunos_1)

alunos_2 = inner_join(alunos_2, carga_horaria_cursos_graduacao_ufersa, by="curso")
names(alunos_2)
## [1] "nome"                "matricula"           "cpf"                
## [4] "curso"               "campus"              "ano_ingresso"       
## [7] "carga_horaria_total" "CH_media"

Agora podemos computar o Estudante Equivalente para cada indivíduo, e depois somar para obter o total de estudantes equivalente da UFERSA.

Vamos separar os estudantes em três grupos para facilitar o cálculo. O primeiro grupo contém os estudantes que estão matriculados nos dois semestres: somados, eles equivalem a \(4345.759\) alunos em tempo integral.

# Conjunto dos alunos que estudaram o primeiro e segundo semestres:
alunos_em_comum = intersect(alunos_1$matricula, alunos_2$matricula)

# Dados destes alunos no semestre 1:
alunos_em_comum_1 = alunos_1 %>% 
  filter(., alunos_1$matricula %in% alunos_em_comum) %>% arrange(., nome)

# Dados destes alunos no semestre 2:
alunos_em_comum_2 = alunos_2 %>% 
  filter(., alunos_2$matricula %in% alunos_em_comum) %>% arrange(., nome) 

nrow(alunos_em_comum_1)
## [1] 5696
# dados dos alunos em comum

alunos_em_comum_total = data.frame(matricula = alunos_em_comum_1$matricula,
                                   curso = alunos_em_comum_1$curso,
                                   carga_horaria_total =  alunos_em_comum_1$carga_horaria_total +
                                     alunos_em_comum_2$carga_horaria_total, 
                                   CH_media = alunos_em_comum_1$CH_media)


names(alunos_em_comum_total)
## [1] "matricula"           "curso"               "carga_horaria_total"
## [4] "CH_media"
alunos_em_comum_total %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) ->
  alunos_em_comum_total

FTE_12 = sum(alunos_em_comum_total$FTE_individual)
FTE_12
## [1] 4345.759

Adotamos o mesmo procedimento para os alunos que estiveram matriculados somente no primeiro semestre, obtendo o valor de \(542.7657\) estudantes equivalentes.

# Alunos matriculados apenas no primeiro semestre
alunos_so_1 = alunos_1 %>% 
  filter(., !(alunos_1$matricula %in% alunos_em_comum)) %>% arrange(., nome)


alunos_so_1 %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) -> 
  alunos_so_1

FTE_1 = sum(alunos_so_1$FTE_individual)

FTE_1
## [1] 542.7657

Os estudantes matriculados apenas no segundo semestre foram equivalentes a \(483.2822\) estudantes em tempo integral:

# Alunos matriculados apenas no segundo semestre
alunos_so_2 = alunos_2 %>% 
  filter(., !(alunos_2$matricula %in% alunos_em_comum)) %>% arrange(., nome)


alunos_so_2 %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) -> 
  alunos_so_2

FTE_2 = sum(alunos_so_2$FTE_individual)
FTE_2
## [1] 483.2822

Finalmente, somando as três quantidades, obtemos o total de estudantes equivalente: \(5371.807\), ou seja, aproximadamente \(73.7\%\) da média dos estudantes de graduação matriculados nos dois semestres de 2017 (\(7286\)).

# Número de estudantes equivalente total:
FTE_12 + FTE_1 + FTE_2
## [1] 5371.807