• Feature Adaptive Ray Tracing of Subdivision Surfaces

    (2017) Catmull-Clark surfaces have been extended to several eminent ways, including the handling of boundaries, infinitely sharp creases, semi-sharp creases, and hierarchically defined detail. For ray tracing of subdivision surfaces, a common way is to construct spatial bounding volume hierarchies on top of input control mesh. However, a high-level refined subdivision surface not only requires a substantial amount of memory storage, but also causes slow and inefficient ray tracing. In this thesis, it presents a new way to improve the efficiency of ray tracing of subdivision surfaces, while the quality is not as good as general methods.

  • Facial Expressions of Humanoid Robots Using Deep Learning

    (2017) This research identifies the problem with the current facial expression research as an information retrieval problem. This thesis identifies the current research method in the design of facial expressions of social robots, followed by using deep learning as similarity evaluation technique to measure the humanness of the facial expressions developed from the current technique and further suggests a novel solution to the facial expression design of humanoids using deep learning.

  • A System Architecture for Affective Meta Intelligent Tutoring Systems

    (2014) Intelligent Tutoring Systems (ITS) could positively impact education if adopted on a large scale, but doing that requires tools to enable their mass production. We present a component-based approach for a system architecture for ITS equipped with meta-tutoring and affective capabilities. We elicited the requirements that those systems might address and created a system architecture that models their structure and behavior to drive development efforts. Our experience applying the architecture in the incremental implementation of a four-year project is discussed.

  • Computing Capstone Project II (SER 402) Lecture 13

    Sprint 1 Feedback

  • Computing Capstone Project I (SER 401) Lecture 23

    Feedback

  • Advanced Graphics (SER431) Lecture 23

    Project 3

  • Advanced Graphics (SER431) Lecture 22

    Project

  • Advanced Graphics (SER431) Lecture 21

    Perlin noise

  • Advanced Graphics (SER431) Lecture 20

    Noise

  • Computing Capstone Project I (SER 401) Lecture 19

    Grading Review

  • Advanced Graphics (SER431) Lecture 19

    Project

  • Advanced Graphics (SER431) Lecture 18

    Textures

  • Advanced Graphics (SER431) Lecture 17

    Materials

  • Advanced Graphics (SER431) Lecture 16

    Lighting II

  • Advanced Graphics (SER431) Lecture 15

    Lighting

  • Advanced Graphics (SER431) Lecture 14

    Collision detection and Code Refactoring

  • Advanced Graphics (SER431) Lecture 13

    Bounding Volumes

  • Advanced Graphics (SER431) Lecture 10

    Mesh Data Structure II

  • Advanced Graphics (SER431) Lecture 09

    Mesh Data Structure I

  • Advanced Graphics (SER431) Lecture 08

    OpenGL Overview IV

  • Advanced Graphics (SER431) Lecture 07

    OpenGL Overview III

  • Advanced Graphics (SER431) Lecture 06

    OpenGL Overview II

  • Advanced Graphics (SER431) Lecture 05

    OpenGL Overview I

  • Advanced Graphics (SER431) Lecture 04

    Programming ilmBase and STL

  • Advanced Graphics (SER431) Lecture 03

    Linear Algebra

  • Advanced Graphics (SER431) Lecture 02

    Concepts of Computer Graphics

  • Advance Graphics (SER431) Lecture 01

    Course Presentation

  • Affective Meta Tutoring System

    This project combine meta-tutoring with affective learning companions in order to create an Affective Meta Tutor. This Meta tutor supports meta-cognitive practices for learning within a specific scientific domain aiming to achieve long term lasting benefits.

  • Comparing Computer-Face-Based Emotion Recognition with Human Emotion Perception

    This project is an interactive museum application that uses facial-gesture-based affect recognition. It was exhibited in the Exploratorium museum (California). The exhibit requires two simultaneous users: a subject and an observer. The subject is asked to complete certain computer-based activities while he is being recorded using a camera. The observer is asked to indicate each time that he thinks that the subject expresses a certain emotion. At the end of the experience, the exhibit shows a screen that displays the video of the subject and the opinion of both the observer and the computer.

  • Information System for Managing the Archaeological Sites in the Sayula River Basin.

    (2008) The Archaeological Project of Sayula River Basin (PACS) aims to understand the socio-cultural development of the pre-Hispanic groups that settled in western Mexico and to analyze the socio-cultural information of the area considering the river basin as a non-arbitrary universe of study. This project support PACS by designing an information system for managing the archaeological sites, obtaining as a final product a model that can be implemented to automate and manage the gathered information.

  • Introducing computer science with Project Hoshimi

    (2008) Introductory programming courses have two very specific difficulties for novice students: the lack use of real world examples in the sessions; and the lack of palpable examples of the job done. We propose using Project Hoshimi, a Microsoft Platform, as a base for introducing computer programming to CS1 students. Through the paper we discuss the main advantages and disadvantages in our experience of using Project Hoshimi, comparing its use against traditional approaches, as well as against other graphic programming methods such as Alice or videogame based learning.

  • Eclipse plug-in to aid generating OpenMP and Pthreads code Through Visual Programming

    (2008) We present an Eclipse plug-in aimed to facilitating teaching parallel, concurrent and multicore computing. It builds an atmosphere of visual programming based on icons which allows students to create a visual model (by the interconnection of representative icons of atomic structures). Then, automatically generates source code in C/C++, inlaying the necessary elements of openMP or Pthreads for concurrent or parallel systems.

  • Mexican Virtual Health Library on the Internet 2

    (2006) Short talk presented at the Virtual Day in Health Sciences of the University Corporation for Development of Internet (CUDI) (CUDI in Spanish for Corporación Universitaria para el Desarrollo de Internet). Mexico. September 2006.

  • Tri-dimensional Visualization of the Tectonic Displacement of Mexico

    (2006) Short talk presented at the Spring meeting of the University Corporation for Development of Internet (CUDI in Spanish for Corporación Universitaria para el Desarrollo de Internet). Oaxaca, Mexico. April 2006.

  • Web Platform for Periodicals Publications

    (2006) “The radio took 50 years to reach 50 million people, television took 13 years to reach 50 million people, and the Internet has taken half that time, about six years or so, to reach 100 million people. We are reaching enough fiber each day to give him two times around the world. Internet traffic doubles every 100 days. The borders are disappearing and this is an irreversible trend, whether border customs, monetary, political or ethnic: all are coming down”. – C. Michael Armstrong, Executive Director of AT&T

  • Three-dimensional modelling of Tectonic Displacement in Mexico

    (2006) This project designs an information system that allows three-dimensional graphic display by the movement of GPS stations with respect to time to assist the analysis of data from studies of the deformation of the earth’s crust. It takes as a case study the data that the National Institute Statistics, Geography and Informatics of Mexico collected daily since 1993 from a network of 15 fixed GPS stations located in state capitals across the country.

  • Applying Data Mining to the Analysis of Poverty Zones in Mexico

    (2006) This work aims to adapt a model data mining methodology, incorporating the use of a software tool freely available, to apply in the treatment of official data, taking as case study the phenomenon of poverty in households and locations in Mexico and its measurement reference year 2000.

  • Information System for Managing the Archeological Sites in the Sayula River Basin

    (2007) The Archaeological Project of Sayula River Basin (PACS) aims to understand the socio-cultural development of the pre-Hispanic groups that settled in western Mexico and to analyze the socio-cultural information of the area considering the river basin as a non-arbitrary universe of study. This thesis work support PACS by designing an information system for managing the archaeological sites, obtaining as a final product a model that can be implemented to automate and manage the gathered information.

  • CGI Programming with TCL

    (1999) I taught this tutorial several times from August 1997 to December 1999 at the High Performance Computer Center - Universidad de Guadalajara. Guadalajara, Jalisco, Mexico.

  • Apache Web Server

    (2005) Tutorial presented in the 7th International Conference on Computer Systems Engineering (CISC). Guadalajara, Jalisco, Mexico. October 2005.

  • J2ME, Java for Mobile Devices

    (2007) Does your cel phone have, on the application section, a Java logo? If so, your cel phone is able to execute programs developed in Java. If not, it is a fact that your next phone will have the ability to execute Java programs. Two billions of persons in the world have access to a cel phone, thus SUN has generated a strong strategy in order to include Java on these devices. This tutorial is about how to program these mobile devices using Java 2 Micro Edition (J2ME). We will start with a brief description of how to program GUIs and simple applications, and we will end the tutorial in a fun way giving you the basic to program a video game.

  • Unified Modeling Language (UML) and the Unified Process (UP)

    (2006) Continuing education and knowledge updating for professionals and companies. Software Industry Excellence Center (SIE CENTER) at Tecnologico de Monterrey, Guadalajara campus. Guadalajara, Jalisco, Mexico. January 2006

  • Software Design Anti Patterns

    (2006) Tutorial presented in the 8th International Conference on Computer Systems Engineering (CISC). Guadalajara, Jalisco, Mexico. October 2006.

  • Applying RUP and Patterns in CMMi Technical Solution

    (2008) RUP is a methodology for the analysis, implementation and documentation of object-oriented systems. It is a set of context and needs adaptable methodologies for each organization: bigger or smaller. Attendees will enhance their ability to set building lineaments to develop robust applications, following the strategies and defined techniques in RUP. The tutorial is contextualized in an “small organization” scenario where the quantity of involved resources (time, human resource and financial) are normally minimum – RUP offers excellent work alternatives in a scenario with this characteristics.

  • Design Patterns (1/4)

    (2008) Through this course, attendees will: (1) Learn the concept of software pattern and the three dimensions of software engineering: the product, the user, and the environment; (2) Become aware of the need of using software patterns while applying agile development methodologies; (3) Become familiar with the vocabulary of patterns and apply it as a form of communication shared by all stakeholders; (4) Become aware of how patterns help us to express and communicate knowledge and thus, enrich the system development process; (5) Be able to apply the creation, behavior, and structure patterns in real business projects.

  • Programming LEGO Mindstorms with Java

    (2008) LEGO Mindstorms robots can do more than you ever expected. How to get in there?. The answer is combining the LEGO Mindstorms cool and fun hardware with the power of the Java platform–the world’s hottest programming technology. This tutorial will show you how to get in, step by step. We’ll start with the basics and then we’ll teach you techniques to control LEGO ® Mindstorms ® robots. This tutorial will teach you how to build robots combining intelligence and power.

  • iPhone SDK a kickstart

    (2008) iPhone is a pretty new device that involve several technologies (phone, video, audio, images, and web among others). This gadget, the best in 2007 year according to Times Magazine, has captive the interest of different types of users and created a new emerging market in various environments. Today thousands of programmers want to provide applications on the iPhone. Apple recently released the iPhone SDK (March 2008) toolkit. Using XCode 3.0 under Mac OS X 10.5 as our IDE, and Objective-C and iPhone API as our programming tools we will create iPhone applications (from basic to medium level) which finally can be load into an iPhone. We’ll start with the classical ‘Hello World’ and continue to develop applications using graphical user interfaces, handling multi-touch and detect motion, communication with web application, and different media.

  • How to code for Accelerometer and Core Location?

    (2009) In this session we will learn how to develop applications that use the accelerometer and core location features of the iPhone / iPad. These are two of the most amazing features in these devices, and use them in apps is really easy. Don’t worry if you are new in Apple development, this is a good pretext to learn more about Xcode, Objective-C and all the common programming stuff in Mac. We will start with a quick overview of Objective-C and the SDK architecture.

  • Programming with iPhone SDK

    (2009) iPhone is a new and widely extended platform. In 2008 Apple sold 13.7 millions of devices. In the same year the SDK for iPhone was downloaded about 800,000 times and right now there are 50,000 iPhone Developers subscribed to the iPhone Developer Program. iPhone platform involve several and amazing technologies that make programming a cool activity for both experts and novices. In this tutorial, we will create applications from basic to medium level. We’ll start with a classical “Hello World” and continue to develop applications using GUIs, handling multi-touch and motion detection, communication interfaces, and different media.

  • Motion Capture

    (2010) The concepts of motion capture, motion tracking, or simply mocap are used to describe the process of capturing movements and translate them into a digital model. In other words capture the actions of human actors and use this information to animate digital character models in two or three dimensions through a computer. These processes range from body movements to movements as fine as hand gestures, fingers and even facial expressions.