O ensino de programação faz parte da formação acadêmica básica em Computação e áreas afins. Pesquisas anteriores reportam que estudantes têm muitas dificuldades relacionadas às disciplinas de programação, como a falta de compreensão do raciocínio lógico, que afeta o índice de reprovação e gera desistência de estudantes nos cursos de graduação da área. Com isso, técnicas e ferramentas são concebidas para apoiar o ensino-aprendizagem de disciplinas de programação, dentre elas, o uso de jogos digitais. Neste trabalho, o objetivo é apresentar um jogo digital educacional cuja utilização visa apoiar o processo de ensino-aprendizagem de programação para iniciantes no ensino superior. A proposta do ProgramSE é auxiliar o estudante para que possa conhecer novos conceitos de lógica de programação e fixar conhecimentos prévios, por meio de analogias a ações da rotina diária de um estudante em sua casa (e.g., ligar equipamentos, organizar objetos etc.). Partindo dos resultados de estudos prévios, o jogo foi construído e inspirado pela Teoria Pedagógica do Construtivismo e pela Taxonomia de Bloom. Adotou-se como base a programação em blocos para a construção de desafios a partir do Construct 3. A usabilidade e efetividade baseada na experiência do jogador foram avaliadas em duas turmas de iniciantes em programação de dois cursos de graduação por meio do modelo MEEGA+. A percepção dos alunos em relação à forma com que os conceitos de programação foram ensinados foi positiva. O jogo obteve notas medianas positivas para a maioria dos itens avaliados a partir do modelo MEEGA+. Além disso, na percepção dos estudantes, o jogo pode auxiliar no processo inicial de ensino-aprendizagem de programação. Os resultados indicaram a aceitação dos estudantes quanto aos jogos digitais voltados ao ensino, devendo-se considerar os aspectos de jogabilidade para o engajamento.