Created
April 18, 2018 17:46
-
-
Save felipessalvatore/b4f706416d1acd87f031a68b5e4f456b to your computer and use it in GitHub Desktop.
generate course content
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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