Hola y bienvenido a la clase de programación de C para principiantes.
Mi nombre es Jason Fitton y seré su instructor.
Quiero darle las gracias por inscribirse en este curso.
Va a ser muy divertido y voy a hacer todo lo posible para motivarte y ayudarte a aprender todo sobre el lenguaje
de programación C.
Empecemos.
En primer lugar, quiero hablarles un poco de mí.
Tengo un máster en ciencias informáticas por la Universidad de Binghamton, y también una licenciatura
en ciencias y en informática por SUNY Oswego.
Obtuve mi máster en 2001.
Soy desarrollador de software desde hace más de 16 años.
Soy instructor en línea desde hace más de 11 años.
He impartido más de 20 clases diferentes, desde programación orientada a objetos hasta teoría
de compiladores.
Tengo una amplia experiencia en programación informática en general.
Llevo más de 16 años trabajando con el lenguaje de programación C.
Básicamente, en cuanto conseguí mi primer trabajo, empecé a escribir código C.
También he creado clases de C para principiantes y de C avanzado en varias universidades, por lo que tengo bastante experiencia
con planes de estudios y con la presentación de conceptos de C a los estudiantes.
He sido desarrollador de software en Xerox Corporation durante unos 10 o 12 años.
Mientras he estado trabajando aquí he estado escribiendo código C principalmente y también algo de código C plus plus.
Ejecutamos todo nuestro repositorio de código fuente en la plataforma Linux y escribimos código en tiempo real.
Me dedico principalmente a los lenguajes orientados a objetos y a la programación móvil.
Esto es lo que me gusta hacer.
Así que cosas como C plus y Java, pero el lenguaje C es realmente en el que tengo mi experiencia.
También me centro en escribir código de alta calidad.
Este es un concepto vital e importante que voy a enfatizar a lo largo del curso.
Quiero que os concentréis en escribir buen código, no sólo escribir código que funcione, sino escribir
buen código que ayude a que el mantenimiento del programa sea mucho más fácil.
Algunos de los temas que trataremos en clase son los siguientes.
Y por cierto, cuando cubramos estos temas, vamos a proporcionar.
Voy a proporcionar material de lectura.
Voy a proporcionar ejercicios prácticos.
Voy a proporcionar evaluaciones.
Voy a guiarte a través del código y los conceptos de programación mientras lo edito en un entorno de desarrollo integrado.
Así que va a ser muy práctico.
Primero hablaremos de C en general, te daremos una pequeña visión general.
Te voy a contar cómo el lenguaje de programación C es muy eficiente.
También es portátil.
Puedes escribirlo en varias plataformas.
Tiene mucha potencia y flexibilidad, y está orientado a los programadores.
También le proporciono una breve historia de C, sólo para darle algo de contexto.
A continuación, describiremos algunas de las características comunes del lenguaje C.
C es un lenguaje imperativo.
Es el tipo de lenguaje más moderno.
Está organizado en torno a funciones.
Tiene diseño de módulos, es un lenguaje de programación estructurado.
Y también se puede planificar de arriba abajo cuando se escribe el código.
Las ventajas de utilizar C se centrarán en C es ideal para programas pequeños y rápidos.
Es muy fiable, muy fácil de aprender y muy fácil de entender.
Si tomaras un programa en C de un compañero o de un desarrollador, serías capaz de seguirlo con bastante
rapidez.
Vamos a utilizar un entorno de desarrollo integrado multiplataforma moderno.
Vamos a editar código.
También vamos a utilizar el IDE para depurar nuestro código, lo cual es muy importante.
Y así se presentará como uno de los conceptos.
Te guiaré por el entorno y te mostraré cómo utilizar la herramienta.
Primero vamos a empezar con los conceptos básicos.
Voy a describirte cómo es un programa en C y a darte un ejemplo.
Voy a mostrarte la estructura de un programa básico en C.
Hablaremos de cómo puedes proporcionar comentarios en tu código y también salida básica usando la función printf.
Repasaremos un ejemplo de Hola Mundo y también te haremos escribir tu primer programa en C.
Seguiremos hablando de makefiles.
No entraremos en muchos detalles sobre makefiles, pero quiero tocar el tema para ayudarte a entender
cómo puedes usar esta herramienta para construir y compilar tu código.
Vamos a hablar del concepto de programación más básico que existe, que es la creación y uso
de variables.
Variables es la idea de asociar memoria, datos y memoria para su programa con un nombre.
Y vas a crear muchas variables y muchas declaraciones diferentes en tu código.
Hablaremos de los tipos de datos, que incluyen los tipos de datos float double y char.
Y más adelante en la clase hablaremos de tipos de datos más avanzados, como los enums, y de cómo crear
tus propios tipos de datos utilizando la palabra clave typedef.
Proporcionaré información sobre los operadores básicos.
Son cosas como hacer sumas o restas, operadores matemáticos.
También incluye operadores lógicos como and o, or.
Esto sería algo así como declaraciones de decisión.
Hablaremos de cómo puedes asignar datos a una variable utilizando un operador de asignación.
Toma de decisiones en tu código.
Concepto de programación muy importante.
Tocaremos este tema.
Son las llamadas sentencias condicionales.
Se trata de palabras clave como if y switch.
Daremos ejemplos y repasaremos las distintas construcciones que lo componen.
A continuación, hable de repetir el código.
Principalmente bucle las grandes construcciones de bucle en C son for while y do while.
Son todos iguales.
Sólo tienen una sintaxis un poco diferente.
Vamos a hablar de cómo se puede almacenar datos y categorizar los datos dos diferentes utilizando matrices.
Así que vamos a discutir cómo se puede definir inicializar matrices y luego matrices multidimensionales,
que es una especie de matriz de hoja de cálculo tipo de concepto.
Funciones.
Las funciones son uno de los conceptos más grandes e importantes relacionados con el lenguaje de programación C.
No todo debe utilizarse y organizarse en torno a una función.
Es lo que se denomina programación de tipo módulo.
Vas a aprender cómo declarar una función, cómo usarla, cómo pasarle datos, cómo devolver
datos de ella.
También hablaremos de conceptos más avanzados como la llamada por valor y la llamada por referencia Depuración.
La depuración es un concepto vital y esencial para todos los programadores.
Es la idea de encontrar y corregir tus errores.
Vamos a discutir la pila de llamadas, que puede mostrarle si su programa se bloquea donde se bloqueó.
Concepto muy importante.
Te proporcionaré errores comunes que cometen muchos programadores de c para que si ves estos errores,
entiendas cómo solucionarlos.
Y luego el compilador, el compilador comprobará tu código para asegurarse de que es sintácticamente correcto.
Y si no lo es, te dará mensajes de error o advertencias.
Tienes que entender lo que te dice el compilador.
Así que hablaremos de los mensajes del compilador y de cómo entenderlos.
Vamos a hablar de los structs.
Vas a aprender todo sobre structs, que es similar en arrays y que almacena datos.
Es una estructura de datos.
Vamos a discutir cómo se puede inicializar structs, cómo existe este concepto de estructuras anidadas.
Para aquellos de ustedes que están familiarizados con los objetos, puede ser una especie
de relación con eso, pero no es tan robusto cadenas de caracteres, que es esencialmente una cadena en C caracteres alfanuméricos dentro de comillas
dobles.
Este es uno de los tipos de datos básicos, pero se piensa como una matriz y ver que es un concepto un poco
diferente.
Vamos a repasar eso.
Vamos a hablar de algunas de las operaciones que puedes realizar sobre cadenas y demás.
Punteros.
Los punteros van a ser probablemente nuestro concepto más importante en todo este curso.
Así que vamos a dedicarle mucho tiempo.
Punteros es este concepto y ver dónde tiene que gestionar su propia memoria.
Puede que sea un concepto que no le resulte familiar si programa en otros idiomas, ya que esto se suele hacer
por usted.
Concretamente, si programas en Java o C sostenido, no tienes que preocuparte por los punteros.
En C, tienes que preocuparte de gestionar tu propia memoria.
Así que los punteros son un gran problema.
Voy a contarte cómo puedes definir y usar punteros, cómo puedes usarlos con funciones
y arrays, cómo puedes llamar a diferentes llamadas de la biblioteca estándar para crear memoria y también cómo puedes hacer dereferencia a
los punteros.
Es un concepto importante, como he dicho, y vamos a dedicarle mucho tiempo.
Voy a proporcionarte un montón de ejemplos, un montón de escenarios de tipo mundo real para que los punteros
estén realmente metidos en tu cerebro porque no puedes usar el lenguaje de programación C sin entender completamente los punteros.
Dedicaremos mucho tiempo a esto.
El preprocesador vamos a aprender acerca de esto es un paso que ocurre antes de que el compilador.
Específicamente, son directivas que necesitas entender, como define e include.
Pasaremos por eso.
Vamos a repasar la entrada y la salida, cómo puedes leer y escribir datos en la consola.
Ya hemos hablado de printf.
Vamos a entrar en un poco más de detalle en que el uso de getchar y scanf formato, especificadores, cosas
por el estilo.
También vamos a hablar de cómo puedes leer y escribir datos en un archivo.
Este es otro tipo de concepto importante cuando estás escribiendo código, es una forma de almacenar datos.
Hay muchas operaciones de archivo diferentes en C, y vamos a discutir algunas de ellas.
C es un lenguaje de muy bajo nivel y que puede hacer un montón de cosas de manera eficiente y rápida y la escritura
y lectura de archivos está en ese bajo nivel.
Puedes interactuar con el sistema operativo muy, muy bien.
Hay una biblioteca C estándar que viene con el lenguaje de programación C donde hay un montón de diferentes
funciones que se pueden utilizar.
Hay funciones de cadena, funciones de manipulación de cadenas, hay funciones matemáticas, funciones de utilidad.
Vamos a repasar todas estas funciones básicas que puedes utilizar y que te ayudan a escribir código de forma
más eficiente, al igual que las diferentes librerías y otros lenguajes.
C le va a proporcionar de nuevo algunos de los fundamentos, para escribir y leer de archivos manipulando cadenas.
Si quieres obtener el coseno y la tangente para funciones matemáticas, todo eso te lo proporciona el lenguaje.
Vamos a aprender sobre eso.
Y esos son los temas principales que vamos a tratar, temas iniciales.
Todavía no vamos a entrar en temas avanzados, pero vamos a cubrir los fundamentos básicos.
Así pues, al final de este curso, deberá ser capaz de escribir programas en C para principiantes, comprender los aspectos fundamentales
del lenguaje C y saber cómo proporcionar entrada y salida.
Haz file i o profundiza en el concepto de punteros, etcétera.
También vas a, como vamos a través de este curso, se centran en la escritura de código de alta calidad de código eficiente.
Esto es muy, muy importante.
De nuevo, afecta a las fases de mantenimiento del ciclo de vida del software.
Así que si quieres encontrar y corregir tus errores, es mucho más fácil hacerlo si tienes un código de alta calidad.
Así que a medida que vamos a través de ejemplos, a medida que aprendemos estos conceptos, vamos a aprender a hacerlo de la manera
correcta.
Vamos a aprender a modular las cosas para que se agrupen en funciones.
Vamos a asegurarnos de que en nuestros diferentes archivos tenemos bajas dependencias, bajo acoplamiento, para
que no se afecten unos a otros.
Cuando tienes muchas dependencias en tu código, puedes.
Es mucho más fácil encontrar y corregir los errores.
Y si alguna vez quieres añadir nuevas funciones o añadir nuevo código a un programa, es mucho más fácil hacerlo si está modularizado,
si está organizado funcionalmente.
Así que vamos a centrarnos en este concepto de escribir código de alta calidad.
No solo vamos a hacer que las cosas funcionen, sino que vamos a hacerlo bien.
Al final del curso, serás capaz de encontrar y corregir tus propios errores.
Una parte esencial para convertirse en un buen programador es la resolución de problemas.
Vamos a centrarnos en las técnicas de resolución de problemas y en cómo depurar tu código y cómo convertirte en un solucionador
de problemas eficiente.
Esto incluye comprender los mensajes del compilador.
Entiende cómo ejecutar un depurador, cómo usar la pila de llamadas, todas estas cosas bonitas.
La resolución de problemas se abordará en todas las clases.
Vas a comprender los aspectos fundamentales de los temas del lenguaje de programación C que he mencionado
anteriormente.
Esto van a ser cosas básicas de C.
Por último, vas a divertirte.
Voy a hacer todo lo posible para motivarte.
Voy a tener ejemplos divertidos y emocionantes.
No quiero que te duermas durante las clases o los ejercicios, así que voy a hacer que sean animados
y voy a hacer todo lo posible para motivarte y ayudarte a lo largo de este curso.
Así que lo estoy deseando.
Estoy muy ilusionado y espero que todo el mundo esté preparado para aprender mucho sobre el lenguaje de programación C.
Gracias, señor.