aed 2018 k1051 2018 k1051 clase #01.pdf · formar e informar acerca de metodologías, técnicas y...
Post on 07-Jan-2020
11 Views
Preview:
TRANSCRIPT
Prof.Esp.Ing.JoséMaríaSola
UniversidadTecnológicaNacionalFacultadRegionalBuenosAires
DepartamentodeIngenieríaenSistemasdeInformación
K1051
2018
Mar22,Jueves
Agendaparaestaclase� BienvenidosalaUniversidadyalCurso� Presentacióninicial,conozcámonos� ElcontextodeAED� Intervalo� SobrelaCátedraylaAsignatura� Laaprobaciónylaregularización� PlataformadelCurso� Primercontactoconlaprogramación� Trabajo#0
Prof. Esp. Ing. José María Sola 3
Conozcámonos
DocentesdelCurso� ProfesoraCargo
� Esp.Ing.JoséMaríaSola� Auxiliares
� Srta.ElizabethSosa� Sr.MatíasNicolásAlbacetti� Sr.JoelEdgardoPeralta
Prof. Esp. Ing. José María Sola 5
EnlaClaseyHorarios� Primerasfiladebancolibresparaelproyectoryparaotromaterial(sielaulanotieneproyectorintegrado)
� Entrarysalirporpuertatrasera(sielaulalatiene)� Celular,ensilencioovibrador� Horariosdelcurso
� 5horascátedraconintervalode15minutos� 3horasreloj+intervalode15o20minutos
� 19:00a� Intervalo20:30o20:45
� 23:00� Consultaspresenciales,antesydespuésdeclase.
Prof. Esp. Ing. José María Sola 6
AnálisisdelTítulodelaCarrera–IngenieríaenSistemasdeInformación� Ingeniería
� Aplicacióntecnología—cienciaytécnicas—pararesoluciónproblemas
� Construccióndesoluciones� Sistema
� Conjuntodeelementosrelacionadosconobjetivocomún
� Información� Datosprocesados� Materiaprimaparatomade
decisiones� Datovalorsintáctico� Informaciónvalorsemántico.
� SistemadeInformación� Sistemamanualoautomático
con� personas,máquinasométodosque� procesainformación
� recolecta,transmite,almacenadistribuye,presentaymanipula
� informaciónparasususuarios� entiempoyforma
� Engeneral,lossistemasdeinformacióntienengrandespartesimplementadasconSistemasSoftware
� LaprogramaciónylaconstruccióndeSistemasSoftware.
Prof. Esp. Ing. José María Sola 8
RoldelaMateriaenlasAcAvidadesdelIngenieroenSistemasdeInformación
Organización
SistemadeInformación
Proyecto
Problema(Necesidad)
Desarrollo
Análisis Diseño Implementación
Solución
Prof. Esp. Ing. José María Sola 9
LasAsignaturasParalelas� MatemáticaDiscreta� SistemasyOrganizaciones
Prof. Esp. Ing. José María Sola 10
� Objetivos� Aplicarmétodosinductivos,
deductivosyrecursivosenlaresolucióndesituacionesproblemáticasydemostracionesmatemáticas
� Comprenderlosconceptosyprocedimientosnecesariospararesolverrelacionesderecurrencia
� Aplicarpropiedadesyfuncionesdefinidasenlosnúmerosenterosyenterosnonegativos
� Caracterizardistintasestructurasalgebraicas,enfatizandolasqueseanfinitas
ylasálgebrasdeBoole� Aplicarpropiedadesdegrafos,
dígrafosyárbolesenlaresolucióndesituacionesproblemáticas
� ContenidosMínimos� LógicaProporcionalClásicay
dePredicadosdePrimerOrden� TeoríadeNúmeros� InducciónMatemática� RelacionesdeRecurrencia� EstructurasAlgebraicasFinitas
yAlgebradeBoole� Grafos,dígrafosyárboles.
MatemáAcaDiscreta
Prof. Esp. Ing. José María Sola 11
AEDenlaCarrera
Asignatura
Área
CarreraIngenieríaenSistemasdeInformación
Programación
AED Otras
Otras
Otras
Prof. Esp. Ing. José María Sola 12
ÁreaProgramación� Objetivos
� Formareinformaracercademetodologías,técnicasylenguajesdeprogramación,comoherramientasbásicasparaeldesarrollodesoftwareyelestudiodedisciplinasquepermitancrearnuevastecnologías
� Asignaturas(640hs)� 1.MatemáticaDiscreta(96hs)� 2.AlgoritmosyEstructurasdeDatos(160hs)� 3.SintaxisySemánticadelosLenguajes(128hs)� 4.ParadigmasdeProgramación(128hs)� 5.GestióndeDatos(128hs).
Prof. Esp. Ing. José María Sola 13
� IntegraciónHorizontal:Paralelas� ÁreadeProgramación
� MatemáticaDiscreta� Computación
� ArquitecturadeComputadoras� SistemasdeInformación
� SistemasyOrganización
� Integraciónvertical:Posteriores� ÁreadeProgramación
� SintaxisySemánticadeLenguajes� ParadigmasdeProgramación
� Computación� SistemasOperativos
� SistemasdeInformación� AnálisisdeSistemas
� Abstracción:conceptofundamental� Separación,dejardeladolos
detallesparaenfocarenloimportante
� TipodeDato:� ConjuntodeValoresyconjuntode
operacionessobreeseconjuntodevalores
� OrientaciónaObjetos� Objeto:entidadcon
comportamientoyquemantieneunestado.
IntegraciónconotrasAsignaturasyConceptosPrincipales
Prof. Esp. Ing. José María Sola 14
AnálisisdelNombredelaAsignatura–AlgoritmosyEstructurasdeDatos� Algoritmos
� Pasospararesolverunproblemageneral� Datosdeentrada� Listadepasos� Salidaresultante
� Datos� Valoresdeunconjunto� Datum� DatoversusInformaciónversusConocimiento
� Estructura� Relacionesentreentidadesparaalmacenardatos
� TipodeDatosProf. Esp. Ing. José María Sola 17
GeneralidadesdeAEDOrdenanza1150/2007� Departamento IngenieríaenSistemasdeInformación� Bloque TecnologíasBásicas� Área Programación� Nivel 1� Horas/semana 5� Horas/Año 160� Correlatividades
� Anteriores:Ninguna� Siguientes
� Debeestarregularizadaparacursar� AnálisisdeSistemas(2do)� SintaxisySemánticadelosLenguajes(2do)� ParadigmasdeProgramación(2do)� SistemasOperativos.(2do,acordeaordenanza1150/2007)
� Debeestaraprobadaparacursar� DiseñodeSistemas(3ro)� GestióndeDatos(3ro)� Ecnomía(3ro)� RedesdeInformación(4to,acordeaordenanza1150/2007)� Legislación(4to)
Prof. Esp. Ing. José María Sola 18
Objetivos ContenidosMínimos� Identificarproblemas
algorítmicos� Conocerelproceso
dediseñoeimplementacióndesoftware
� Aplicarlasherramientasfundamentalesrepresentativasdelosprocesos,integrandolasintaxiselementaldeunlenguajedeprogramaciónenellaboratorioasociado
� ConceptodeDato� TiposdeDatosSimples� TipoAbstractodedatos� EstructurasdeControlBásicas:secuencial,
condicional,cíclica� EstrategiasdeResolución� EstructurasdeDatos:registros,arreglosyarchivos� Abstraccionesconprocedimientosyfunciones� PasajedeParámetros� EstructurasdeDatoslineales(Pilas-Colas)� AlgoritmosdeBúsqueda,Recorridoy
Ordenamiento� ArchivosdeAccesoSecuencialyAleatorio:
organizacionesyaccesos.� ProcesamientoBásico� Recursividad� NocionesdeComplejidadComputacional� NocióndeOrdendeComplejidad.
ProgramaSintéAcodeAEDOrdenanza1150/2007
Prof. Esp. Ing. José María Sola 19
LosTemasdeAED
TiposdeDatos
Algoritmos
ResolucióndeProblemas
C++(subconjunto)
Prof. Esp. Ing. José María Sola 20
AED
LaCátedra� Dr.Mg.OscarBruno,ProfesorAsociadoOrdinario
� CoordinadordelaCátedra� @orbruno� droscarbruno.wordpress.com
Prof. Esp. Ing. José María Sola 21
DinámicadeTrabajo� Indicacióndelecturasyejerciciosobligatoriosparasiguienteclase
� Profundizacióndeconceptosenclase� Claseinteractivayparticipativa
� Serecomiendaseguirlaclaseconlabibliografíaytomarapuntesalapar
� Ejerciciosdeaplicaciónenclase� Consultas
� Duranteclase,yjustoantesdeiniciaryfinalizarlaclase� Enotroshorarios,atravésdelForoenYahooGroups.
Prof. Esp. Ing. José María Sola 23
Aprobación–ExamenFinal� Requisitoparaaprobación
� Regularizaciónyaprobacióndelexamenfinaló� AprobaciónDirecta
� Examenfinal� Cuatrooportunidades
Prof. Esp. Ing. José María Sola 24
RequisitosparalaRegularización(i.e.,Firma)
� Bedelía:75%deAsistencia� Cátedra:Evaluaciones
� Frecuentes,Grupalesóindividuales,deaplicaciónyconceptuales� DosconjuntosdeEvaluaciones
� #1Trabajos:nopresenciales� #2Exámenes:presenciales� Fechasestablecenduranteelcurso� Cadaconjuntotienesunota� DosrecuperatoriosporevaluaciónenDicyFeb
� AlFinalizarelcursoevaluaciónindividualoraloescrita("coloquio”)basadaentrabajos� NotaFinal:promedioentreconjunto#1Exámenesyconjunto#2Trabajos.
Prof. Esp. Ing. José María Sola 25
AprobaciónDirecta� Nohabersidoreincorporado� Notafinalmayoroiguala8(muybueno)� Nohaberrecuperadoningúnparcialosólounexamenparcial.
� Sedebecumplirentiempoyformacontodoslostrabajos
� HaydosinstanciasdedeterminacióndelestadodeAprobaciónDirecta:� EnNoviembre,antesdefinalizarlacursada� DuranteDiciembre
� QuieneslleguenalossegundosrecuperatoriosdeFebrero-Marzo,nologranlaaprobacióndirecta.
Prof. Esp. Ing. José María Sola 26
Herramientasparafacilitarlacursada
ClasesPresenciales
josemariasola.wordpress.comHomepagedel
curso
Bibliografía�droscarbruno.wordpress.com�josemariasola.wordpress.com
YahooGroupsUTNFRBAAED
Foroparaconsultasyanuncios
GitHubResoluciones
Individualesydelcadaequipo
GoogleCalendarCaledariocondetalle
deactividades
PlataformadelCurso
Prof. Esp. Ing. José María Sola 28
josemariasola.wordpress.com� HomepagedelCurso� Papers� Referencia� Trabajos� Equipos� Calendario� ResúmenesdeClases(seactualizaconpocafrecuencia)� AccesoaForo� AccesoaGitHub.
Prof. Esp. Ing. José María Sola 29
Bibliogra\a� Obligatoria
� https://droscarbruno.wordpress.com/algoritmos-desarrollo-de-temas/
� Recomendada� SobreProgramación
� [Avanzado]Kernighan,B;Pike,R.Laprácticadelaprogramación.2000.Pearson:México
� [Inicial]GarcíaMolina,J;MontoyaDato,F;otros.Unaintroducciónalaprogramación:unenfoquealgorítmico.2005.Thomson:España
� SobreelLenguajeC++� [Avanzado]Stroustrup,B.ElLenguajedeProgramaciónC++.2013.
AddisonWesley� [Inicial]Deitel,H;Deitel,E.CómoprogramarenC/C++.1994.Prentice
Hall:México� Otrosartículosalolargodelcurso,publicadosdesdelapáginadelcurso.
Prof. Esp. Ing. José María Sola 30
GrupoYahooUTNFRBAAEDh`ps://groups.yahoo.com/group/UTNFRBAAED
Prof. Esp. Ing. José María Sola 31
� Objetivos� Forodelcurso� Canaldecomunicación� Materialesdelectura� Consultas� Enunciados� Anunciosparticularesdelcursoy
generales� Antesdecadaclasesedeberevisarsi
haynovedadesenelgrupo� Periododesuscripción
� durantelastresprimerassemanasdelcuatrimestre
� Siyaestáinscriptonoesnecesarioreinscribirse
� Cuentadee-mail(decualquierdominio)connombreyapellido,asociadaalusuarioYahoo
� Requisitosparasuscripción� UsuarioYahooconnombrey
apellido� Cuentadee-mail(decualquier
dominionoesnecesarioseaYahoo)connombreyapellido,asociadaalusuarioYahoo
� Desdelapáginadesuscripción,completarformulariocon� nombreyapellido,� legajoy� códigodecurso
� Comunicación� Elsubject(asuntodelmensaje)
debecomenzarconelcódigodecursoydebeserdescriptivo
� Sedebefirmarconnombreyapellido
� NoestánpermitidoslosOff-Topic� Reglasparaelusodelgrupo
YahooenlasecciónFiles(archivos)delpropiogrupo.
GrupoYahooUTNFRBASSLh`ps://groups.yahoo.com/group/UTNFRBASSL
Prof. Esp. Ing. José María Sola 32
� SistemadeControldeVersiones(VCS)� Gestióndecambios
sobreproductoosuconfiguración
� Ejemplos:Git,Mercurial,ySubversion
� Git� VCSdistribuido,2005
porLinusTorvaldsparaelkerneldeLinux
� GitHub� Servicioque
implementaGit� Otrossimilares:
Bitbucket,GitLab,Gitorious,CloudForge
� ¿PorquéGitHubenelCurso?� Tienepepositorios
públicos,yprivadosparauniversidades
� Es,paramuchos,elprimercontactoconunVCSdistribuido,yconlenguajesdemarcalivianos,comomarkdown
� Esmáseficientequetrabajosimpresos
� Poseeinterfacesweb,deescritorio,ymóvil
� ¿Paraqué?� Avancedecadaestudiante
ydecadaequipo.� Interacciónentrealumnos
yconlacátedrasimilararedsocial
� Seguimientodecorreccionesymejoras
� Repositoriosduranteelcurso� Primerasclases
� Repositorioindividual� Luego,usodela
Organizaciónutn-frba-aed� Paralosmiembrosdel
cursoasignamosunarepositorioprivado,dentroutn-frba-aed,acadaequipo
� https://github.com/orgs/utn-frba-aed/
� PrimerosPasosenGitHub1. Leerguía"Git101”2. CrearUsuario3. CrearRepositorio.
GityGitHubh`ps://github.com/orgs/utn-frba-aed
Prof. Esp. Ing. José María Sola 33
• https://josemariasola.wordpress.com/aed/git/
LenguajesyHerramientasdeDesarrollo
� Lenguaje� Lenguajedeprogramación
� Definecomportamiento� LenguajeóCódigoMáquina
� LenguajedeBajoNivel� Binario
� 0101010101010101010101� Assembler(Mnemónicos)
� ADDBC� ADDAB
� LenguajeC++� UnlenguajedeAltoNivel
� a=a+b+c;ó� a+=b+c;
� Compilador� Traduce,bajadenivelde
abstracción.
¿QuéesProgramar?
Historia ConjuntosdeinfinitosprogramasválidosdeC++yC
� 1970's� C� CWithClasses
� 1980's� ComienzastandardC� C++
� 1990's� StandardC90� StandardC++98
� 2000's� StandardC99� StandardC++03
� 2010's� StandardC11� StandardC++11,14,17.
C++
C
SobrelosLenguajesCyC++
(representa probabilidad)
Prof. Esp. Ing. José María Sola 36
/* Hello World JMS 20130411 */ #include <iostream> int main() { std::cout << "Hello, World!\n"; }
� Propósito� Comentarioencabezado
� Qué� Títulodescriptivo
� Quién� NúmerodeEquipoe
integrantes
� Cuándo� Seactualizóporúltimavez
"Hello,World!"
Prof. Esp. Ing. José María Sola 37
Procesobásicoparadesarrollarprogramas1. Escribirelprogramaconuneditordetexto(e.g.,vi,
Notepad,TextPad,Sublime,TextMate,Notepad++,Notepad2).EsconvenciónparalosarchivosfuentedeC++laextensiónsea.cpp(e.g.,hello.cpp)
2. Compilarelarchivofuenteparaproducirelprogramaobjeto(e.g.,c++hello.c)……yVincular(link)elprogramaconlasbibliotecasparacrearelprogramaejecutable;generalmenteocurrejuntoconelpuntoanterior.
3. Ejecutarelprograma(e.g.,hello.exeó./a.out)4. ¿Erroren2ó3?Volvera1yrepetir.
Prof. Esp. Ing. José María Sola 38
EjemplodesdelíneadecomandoMacOSXC++141. Desdelalíneadecomando
1. >vihello.cpp crearelfuente2. >c++hello.cpp-std=c++14-Weverything
crearelejecutable enrealidad:Preprocesador�Compilador�Linker
3. >./a.out ejecutarHello,World! salida
2. Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3
Prof. Esp. Ing. José María Sola 39
EjemplodesdelíneadecomandoCompiladorMicrosok1. Desdelalíneadecomando
1. >notepadhello.cpp crearelfuente2. >clhello.cpp crearelejecutable
enrealidad:Preprocesador�Compilador�Linker3. >hello.exe ejecutar
Hello,World! salida2. Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3
Prof. Esp. Ing. José María Sola 40
EjemplodesdelíneadecomandoCompiladorBorland1. Desdelalíneadecomando
1. >notepadhello.cpp crearelfuente2. >bcc32hello.cpp crearelejecutable
enrealidad:Preprocesador�Compilador�Linker3. >hello.exe ejecutar
Hello,World! salida2. Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3
Prof. Esp. Ing. José María Sola 41
� ConIDE(IntegratedDevelopmentEnviroment,EntornoIntegradodeDesarrollo)� Ejemplos
� AppleXcode� MicrosoftVisualC++
ExpressEdition� Eclipse
� SinIDE� Editor� Compilador. CompiladordeC/C++
ConIDE·Editor·Depurador·GestordeProyectosydeconfigu-raciones·Ayuda·ymás…
SinIDERequiereeditor
HerramientasdeDesarrollo:SobreelCompiladoryelIDE
Prof. Esp. Ing. José María Sola 42
EjemploconIDEMicrosokVisualStudioExpressforWindowsDesktop
Prof. Esp. Ing. José María Sola 43
EjemploconIDEAppleXCode
Prof. Esp. Ing. José María Sola 44
� ConIDEyLíneadeComandos� MicrosoftVisualStudio
Community2017� https://www.visualstudio.com/vs/
features/cplusplus/� AppleXcode
� https://developer.apple.com/xcode� CodeLite
� https://codelite.org� EclipseIDEforC/C++Developers
� http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/oxygen3
� Code::Blocks� http://www.codeblocks.org/
downloads/� Dev-C++
� http://orwelldevcpp.blogspot.com
� SinIDE,soloLíneadeComandos� GNUCCompiler(ahoraGNU
CompilerCollection)� http://gcc.gnu.org/install/
binaries.html� ParaplataformasWindows
� http://mingw-w64.org/doku.php
� Clang� http://releases.llvm.org/
download.html� EmbarcaderoFreeC++Compiler
� https://www.embarcadero.com/free-tools/ccompiler
LinksaCompiladoresC/C++Usarunosdeestoscompiladoresocualquierotro,siempreycuandoseloconfigureparaC++17(ú11ó14)
Prof. Esp. Ing. José María Sola 45
hello.cpp:"Hello,World!"
Prof. Esp. Ing. José María Sola 46
Trabajo#0—"Hello,World!"enC++� Enunciadoenjosemariasola.wordpress.com� SecuenciasdeTareas
� SolicitarinscripciónalGrupoYahooUTNFRBAAED,unpardedíasparalaaprobación� SinoposeeunacuentaGitHub,crearla� CrearunrepositoriopúblicollamadoAED� Escribirelarchivoreadme.mdqueactúacomofrontpagedelrepositoriopersonal� Crearlacarpeta00-CHelloWorld.� Escribirelarchivoreadme.mdqueactúacomofrontpagedelaresolución.� Seleccionar,instalar,yconfiguraruncompiladorC++17� Probarcompiladorconhello.cqueenvíeastdoutlalíneaHello,World!osimilar� Ejecutarelprograma,ycapturarsusalidaenunarchivodetextooutput.txt� PublicarenrepositoriopersonalAED\00-CppHelloWorld:readme.md,hello.cpp,y
output.txt� InformarporemailaUTNFRBASSL@yahoogroups.com1elusuariousuarioGitHub.
� Restricciones� Lafechayhoralímitedeentregasepublicaenelcalendario� LaevaluaciónsehaceconlopublicadoenGitHub.
Prof. Esp. Ing. José María Sola 47
Términosdelaclase#Definircadatérminoconlabibliogra\a� Contexto
� Comportamiento� Software� Ingeniería� Sistema� Información� IngenieríaenSistemasdeInformación� SistemadeInformación� Proyecto� Problema(Necesidad)� Solución� Desarrollo� Análisis� Diseño� Implementación� Organización� Abstracción� OrientaciónaObjetos
� AED� Algoritmo� Dato� Estructura
� EstructuradeDatos� TiposdeDatos
� Plataforma� ISCV(SistemadeControldeVersiones)� Git� GitHub� Repositorio
� Pogramación� LenguajedeProgramación� Códigomáquina� Assembler� C� C++� Editor� Compilador� Líneadecomando� IDE(IntegratedDevelopmentEnviroment,
EntornoIntegradodeDesarrollo)
01
Prof. Esp. Ing. José María Sola 48
Tareasparalapróximaclase1. RealizarTrabajo#0"Hello,World!”.
Prof. Esp. Ing. José María Sola 49
top related