Skip to content

Instantly share code, notes, and snippets.

@felipessalvatore
Created April 18, 2018 17:46
Show Gist options
  • Save felipessalvatore/b4f706416d1acd87f031a68b5e4f456b to your computer and use it in GitHub Desktop.
Save felipessalvatore/b4f706416d1acd87f031a68b5e4f456b to your computer and use it in GitHub Desktop.
generate course content
import argparse
def smart_generator(name,
class_name,
area,
credits,
professors):
content = """Disciplina {}
Tópicos Avançados de Pesquisa em @
Área de Concentração: {}
Nr. de Créditos: {}
Docentes Responsáveis:
{}
Objetivos:
Discutir conceitos avançados de modelagem, desenvolvimento e pesquisa na área de @ para alunos que já possuam conhecimentos e experiência em programação orientada a objetos em linguagens dinâmicas. Ao término da disciplina, o estudante será capaz de analisar, criticar e desenvolver complexos sistemas para @ de acordo com o estado da arte e o estado da prática bem como iniciar pesquisa científica e tecnológica de alto nível na área.
Justificativa:
O uso de ferramentas avançadas de Tecnologia da Informação para a gestão dos recursos das cidades tem se tornado uma forma efetiva de contribuição que a Ciência da Computação pode dar à melhoria da qualidade de vida e na sustentabilidade das cidades contemporâneas. Essa disciplina irá contribuir para a formação de recursos humanos de alto nível capazes de contribuir com a efetivação da visão das @ do futuro.
Conteúdo:
1) Definições de @. 2) Interdisciplinaridade em @ e problemas passíveis de solução por meio de tecnologia da informação. 3) Algoritmos e métodos da Ciência da Computação aplicáveis a @. 4) Ferramentas e sistemas existentes para @. 5) Desafios de pesquisa científica em @. 6) Desafios de pesquisa tecnológica em @. 7) Oportunidades de Empreendedorismo e Inovação em @.
Forma de Avaliação:
O aluno será avaliado pela qualidade das atividades apresentadas e a presença e o comprometimento ao longo da disciplina.
Observação:
Esta é uma disciplina avançada destinada a alunos que já possuam bons conhecimentos de programação em uma linguagem dinâmica orientada a objetos. O aluno irá conduzir um pequeno projeto de pesquisa científica ou tecnológica durante o período letivo da disciplina que deverá produzir (1) um sistema de software funcional e (2) um artigo científico, em inglês, descrevendo o trabalho realizado e os resultados obtidos. Além disso, ele deverá apresentar, em inglês, um seminário sobre um tópico avançado de pesquisa em @.
Bibliografia:""".format(class_name, area, credits, ", ".join(professors))
trantab = str.maketrans({"@": name})
return content.translate(trantab)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-n',
'--name',
type=str,
help='main name (defaul=Cidades Inteligentes)', # noqa
default="Cidades Inteligentes")
parser.add_argument('-d',
'--disciplina',
type=str,
help='disciplina (defaul=MAC6922)', # noqa
default="MAC6922")
parser.add_argument('-a',
'--area',
type=str,
help='area de concentração (defaul=45134)',
default="45134")
parser.add_argument('-c',
'--credits',
type=int,
help='credits (defaul=8)', # noqa
default=8)
parser.add_argument('-p',
'--professors',
type=str,
nargs='+',
help='professors (default=["Fabio Kon", "Daniel Macedo Batista"])', # noqa
default=["Fabio Kon", "Daniel Macedo Batista"])
args = parser.parse_args()
content = smart_generator(name=args.name,
class_name=args.disciplina,
area=args.area,
credits=args.credits,
professors=args.professors)
print(content)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment