If you want to contribute send me an email: c.santiago.cruz@icloud.com, so I could add you as a collaborator.
iOS Apps using Swift/UIKit
- List of apps I developed during diploma course and self-study time.
- Photorama. It makes a web service request to get photos.
- Restaurant. Interactive restaurant menu that displays offerings, adds orders and sent order request.
- List. Display, add, delete and save a list of tasks.
- Homepwner It keeps an inventory of all your possessions. It saves name, serial#, value and a picture.
- Hotel Manzana. This app allows you to register guests when they arrive.
- Personality Quiz. This app is a silly game that is going to reflect part of your personality.
- Apple Pie (iPad). Word guessing game.
- WorldTrotter. This app converts values between degrees Fahrenheit and degrees Celsius.
- TouchTracker. An app that lets the user draw lines by touching the screen
- Chronolist. List of tasks or activities placed in chronological order.
- SteriflowApp. Project that shows a catalog of Steriflow products.
- Calculator (UI only, iPhone). User interface that shows you the power of Autolayout.
- Calculator (UI + operations, iPhone and iPad). Calculator that computes basic operations, +, -, *, /
Frameworks used: UIKit, CoreData, CoreGraphics, CoreLocation, CoreMotion, MapKit, AVFoundation, QuartzCore, SafariServices, SceneKit, Speech, ARKit. iOS Design Patterns used: MVC, Singleton, delegation, Observer, Target-Action,
iOS Apps using Objective-C/UIKit
- List of apps I developed during self-study time:
- Hypnosister (iPhone, using MRC). Change and move concentric circles color with shake motion detection.
- Homepwner (iPhone, using MRC). It keeps an inventory of all your possessions.
- TouchTracker (iPhone, using MRC). This application lets the user draw lines by dragging across the view.
- Nerdfeed (iPad, using MRC). It reads the RSS feed from the Apple newsroom web service.
- Basic MediaPlayer App (iPhone, using MRC). Simple user interface to display a movie or video and audio.
- Frameworks used: UIKit, CoreData.
MacOS Applications / Objective-C / Cocoa
- List of MacOS apps I developed during self-study time:
- TahDoole Desktop App. Simple to-do list application that stores its data as a property list.
- Cocoa Server App. It creates a server to broadcast its presence and advertise its service on a local area network.
- Frameworks used:
Bash Scripts
- List of bash scripts I wrote to speed up my developments
- create-table-of-contents.sh: Create a table of contents given a txt file
- git-add-ui.sh: It uses a dialog box to add modified and untracked files to the staged area
- git-add-with-filter-ui.sh: It uses a dialog box to add modified and untracked files with a filter to the staged area
- git-restore-ui.sh: It uses a dialog box to restore files that are located in staged area
- git-restore-with-filter-ui.sh: It uses a dialog box to restore files using a filter that are located in staged area
- git-status-with-filter.sh: It shows you status files selected by extension
- git-diff-with-filter.sh: It shows you files differences selected by extension
- trad3.sh: It was created back in my student days to retrieve english/spanish words
- add3.sh: included in trad3.sh repository
- rmDotDSStoreScript.sh: Remove .DS_Store files recursively
- verifyStatus.sh: It was created to remember me if a repository has changes or files are untracked
- extractImagesFromPdfFiles.sh: Extract Images from a pdf file recursively
- renameAllFiles.sh: rename all files and directories in the current directory recursively
Advanced iOS and Android Development / UNAM DGTIC 2023, 240 hours
- Diploma Course at DGTIC UNAM (Web Conference), 2023
Mobile Application Development / UNAM 2019, 240 hours
- Diploma Course at iOS Development Lab, UNAM 2nd Generation, 2019.
iOS Development Courses / Using Swift and UIKit
- List of courses I took to improve my knowledge and skills about iOS Development through a couple of years.
- iOS Programming with Swift (BNR course provided by iOS instructors to improve skills)
- Practical Autolayout (Interesting book about how to demystify Autolayout)
- Learn to Code in Swift (Interesting way to teach Swift using iOS projects created by the author, It is a must)
- Apple iOS Swift Unit Testing (First approach)
- Building AR Apps with Xcode
- Generics (Important chapter provided by Learn to Code in Swift book)
- Swift Style (Summary of recommendations about how to write Swift style code)
- CoreGraphics
- Protocols Importan information from Swift documentation.
- Frameworks used: UIKit, CoreData, ARKit, CoreGraphics, CoreLocation, CoreMotion, MapKit, AVFoundation, QuartzCore, SafariServices, SceneKit, Speech.
iOS Development Courses / Using Objective-C
- iOS Development Courses using Objective-C during self-study time.
- iOS Programming (Objective-C Using MRC)
- Beginning Xcode
- Using Speech Framework
- Grand Central Dispatch
- Frameworks, Libraries and Targets
- Frameworks used: UIKit, CoreData, CoreLocation, UIAccelerometer (deprecate), AVFoundation, Speech.
C programming language
C
- C programs:
- search-price.c: It search a price of an item over a text file
- fibonacci.c: it calculates first 20 numbers of fibonacci series
- c-to-f.c: It converts centigrades units to Farenheit units
- diodo.c: It calculates phase angle, Power Electronics
- pparallel.c: Data adquisition project, using an old HP Pavilion Desktop computer
- Programming in C: List of c programs that I created in the old days
UML And Object Oriented Design Foundations
- UML And Object Oriented Design Foundations:
Data Bases
- Data Bases:
Lectures, code and documentation about data bases.
Algorithms
- Algorithms:
- Algorithms and Data Structures in Swift
- Algorithms and Data Structures in Objective-C
- Graph Algorithms
- Sequential Graph Algorithms
- Parallel Graph Algorithms
- Distributed Graph Algorithms
- Frameworks used: QuartzCore.
Utility
- Utility:
Computer Systems
- Notes about computer systems engineering from programming perspective.
Concurrency is a mechanism that decreases the response time of the system by using a single process unit.
In Concurrency, a major task is divided into subtask that execute simultaneously but not at the same time. A good example of concurrency is having multiple applications, like a Chrome browser, a video editor, and iTunes running at the same time in an operating system.
![Concurrency](https://user-images.githubusercontent.com/24994818/187840751-d72c4d3c-d723-4267-98b3-e8b37f5a46fd.png)
- Parallelism is a mechanism that increases computational speed by using multiple processors. In parallelism, tasks execute simultaneously and at the same time. A good example of parallelism is running a video editor that has many task to perform simultaneoulsy.
![Paralellism](https://user-images.githubusercontent.com/24994818/187840796-a3d589f8-3db1-48e1-ab90-7db7991cd097.png)
Microprocessors and MicroControllers
- Microprocessors and MicroControllers: Notes about how a microprocessor and a microcontrollers work.