Artificial Intelligence (AI) and Machine Learning (ML)
Relevant Coursework:
-
CSCE 1030 - Computer Science I
-
CSCE 1040 - Computer Science II
-
CSCE 2100 - Foundations of Computing
-
CSCE 2110 - Foundations of Data Structures (instead of "Computer Organization and Assembly Language Programming")
-
CSCE 2610 - Assembly Language and Computer Organization (critical for robotics and low-level AI applications)
-
CSCE 3201 - Applied Artificial Intelligence
-
CSCE 3214 - Software Development for Artificial Intelligence
-
CSCE 3550 - Foundations of Cybersecurity (important for ethical AI applications and secure systems)
-
MATH 1780 - Probability Models or MATH 3680 - Applied Statistics (essential for AI/ML algorithms and research)
Recommended Electives:
-
Machine Learning: Explore frameworks like TensorFlow and PyTorch, and advanced algorithms for supervised and unsupervised learning.
-
Natural Language Processing: Delve into language models, sentiment analysis, and sequence-to-sequence models.
-
Computer Vision: Study image processing, feature extraction, and deep learning techniques for vision tasks.
-
Robotics: Learn kinematics, dynamics, and autonomous systems.
-
Big Data and Cloud Computing: Understand how to train and deploy large AI models.
Median Total Comp: (will be updated with resources)
-
AI/ML Engineer: $100,000 - $150,000+ annually
-
Natural Language Processing (NLP) Engineer: $100,000 - $160,000+ annually
-
Computer Vision Engineer: $100,000 - $160,000+ annually
-
Robotics Engineer: $90,000 - $150,000+ annually
-
AI Research Scientist: $110,000 - $180,000+ annually
Top Tech Companies:
Google, Facebook (Meta), Amazon, Microsoft, IBM, Apple, NVIDIA, Intel, DeepMind, OpenAI, Baidu, Waymo, Tesla, iRobot, ABB, Fanuc, Universal Robots, Boston Dynamics, Amazon Robotics
AI/ML Engineer
Machine Learning Fundamentals:
-
In-depth understanding of machine learning algorithms, techniques, and concepts.
-
Supervised, unsupervised, and reinforcement learning.
Data Preprocessing and Feature Engineering:
-
Cleaning, preprocessing, and transforming raw data into suitable formats.
-
Feature selection and extraction to enhance model performance.
Programming and Scripting Languages:
-
Proficiency in programming languages commonly used in ML (e.g., Python, R).
-
Frameworks and libraries like TensorFlow, PyTorch, scikit-learn, and Keras.
Data Exploration and Visualization:
-
Exploratory data analysis (EDA) techniques to gain insights from data.
-
Data visualization tools like Matplotlib, Seaborn, or Plotly.
Model Development and Training:
-
Developing machine learning models using appropriate algorithms.
-
Training and fine-tuning models on large datasets.
Model Evaluation and Metrics:
-
Understanding evaluation metrics (e.g., accuracy, precision, recall, F1-score, ROC AUC) for model performance assessment.
-
Cross-validation techniques.
Deep Learning (Optional):
-
Knowledge of deep neural networks (e.g., CNNs, RNNs, Transformers) for complex tasks.
-
Deep learning frameworks like TensorFlow and PyTorch.
Natural Language Processing (NLP) (Optional):
-
NLP techniques for text analysis, sentiment analysis, and language modeling.
-
NLP libraries like NLTK, spaCy, and Hugging Face Transformers.
Computer Vision (Optional):
-
Computer vision concepts for image and video analysis.
-
Computer vision frameworks like OpenCV.
Reinforcement Learning (Optional):
-
Understanding reinforcement learning algorithms for decision-making tasks.
-
Reinforcement learning frameworks like OpenAI Gym.
Deployment and Productionisation:
-
Deploying machine learning models in production environments.
-
Containerization (e.g., Docker) and deployment tools (e.g., Kubernetes).
Data Ethics and Bias (Optional):
-
Awareness of ethical considerations, fairness, and bias in AI/ML models.
-
Strategies for mitigating bias.
Version Control and Collaboration:
-
Using version control systems (e.g., Git) for collaborative ML development.
-
Collaborative tools and platforms.
Cloud Computing (Optional):
-
Leveraging cloud platforms (e.g., AWS, Azure, GCP) for scalable ML infrastructure.
-
Serverless computing.
Big Data Technologies (Optional):
-
Working with big data frameworks (e.g., Hadoop, Spark) for handling large datasets.
Explainable AI (Optional):
-
Techniques to interpret and explain model predictions.
Continuous Learning:
-
Staying updated with the latest advancements in AI/ML, research papers, and best practices.
-
Engaging with the AI/ML community, attending conferences, and participating in online forums.
Natural Language Processing (NLP) Engineer
Linguistics Fundamentals
-
Understanding of linguistic concepts, including syntax, semantics, morphology, and phonology.
-
Knowledge of linguistic data annotation and linguistic corpora.
Programming Languages
-
Proficiency in programming languages commonly used in NLP, such as Python and sometimes Java or C++.
-
Familiarity with libraries like NLTK, spaCy, Gensim, Transformers, and scikit-learn.
Machine Learning and Deep Learning
-
Understanding of machine learning algorithms and techniques used in NLP:
-
Supervised learning for tasks like text classification and named entity recognition.
-
Unsupervised learning for clustering and topic modeling.
-
Deep learning for NLP, including recurrent neural networks (RNNs) and transformer models (e.g., BERT, GPT).
-
Text Preprocessing
-
Data cleaning and preprocessing techniques specific to text data.
-
Tokenization, stemming, lemmatization, and stop word removal.
Named Entity Recognition (NER)
-
Implementing NER techniques for extracting entities (e.g., names, dates, locations) from text.
Part-of-Speech Tagging (POS)
-
Developing POS tagging systems to assign grammatical categories to words in sentences.
Sentiment Analysis
-
Building sentiment analysis models to determine the emotional tone of text (positive, negative, neutral).
Text Classification
-
Creating text classification models for tasks like spam detection, sentiment analysis, topic categorization, and intent recognition.
Machine Translation
-
Understanding machine translation models and techniques (e.g., Neural Machine Translation).
Word Embeddings
-
Familiarity with word embedding techniques like Word2Vec, GloVe, and FastText.
-
Using pre-trained word embeddings for NLP tasks.
Sequence-to-Sequence Models
-
Knowledge of sequence-to-sequence models for tasks like machine translation and text summarization.
Language Models
-
Understanding of language models like BERT and GPT for various NLP tasks.
Dependency Parsing
-
Implementing dependency parsing algorithms to analyze syntactic relationships between words in sentences.
Speech Recognition (Optional)
-
Familiarity with speech recognition technologies and tools.
Natural Language Generation (NLG)
-
Understanding NLG techniques for generating human-like text.
NLP Libraries and Frameworks
-
Proficiency in using NLP libraries and frameworks like spaCy, NLTK, Transformers, and TensorFlow.
Data Annotation and Labeling
-
Experience with annotating and labeling training data for supervised learning tasks.
Evaluation Metrics
-
Knowledge of evaluation metrics relevant to NLP tasks (e.g., F1 score, BLEU score).
Domain-Specific Knowledge
-
Depending on the application, familiarity with the specific domain or industry of the NLP project.
Continuous Learning
-
Staying updated with the latest NLP advancements, tools, and best practices.
-
Engaging with the NLP community, attending conferences, and participating in online forums.
​
Computer Vision Engineer
Linguistics Fundamentals
-
Understanding of linguistic concepts, including syntax, semantics, morphology, and phonology.
-
Knowledge of linguistic data annotation and linguistic corpora.
Programming Languages
-
Proficiency in programming languages commonly used in NLP, such as Python and sometimes Java or C++.
-
Familiarity with libraries like NLTK, spaCy, Gensim, Transformers, and scikit-learn.
Machine Learning and Deep Learning
-
Understanding of machine learning algorithms and techniques used in NLP:
-
Supervised learning for tasks like text classification and named entity recognition.
-
Unsupervised learning for clustering and topic modeling.
-
Deep learning for NLP, including recurrent neural networks (RNNs) and transformer models (e.g., BERT, GPT).
-
Text Preprocessing
-
Data cleaning and preprocessing techniques specific to text data.
-
Tokenization, stemming, lemmatization, and stop word removal.
Named Entity Recognition (NER)
-
Implementing NER techniques for extracting entities (e.g., names, dates, locations) from text.
Part-of-Speech Tagging (POS)
-
Developing POS tagging systems to assign grammatical categories to words in sentences.
Sentiment Analysis
-
Building sentiment analysis models to determine the emotional tone of text (positive, negative, neutral).
Text Classification
-
Creating text classification models for tasks like spam detection, sentiment analysis, topic categorization, and intent recognition.
Machine Translation
-
Understanding machine translation models and techniques (e.g., Neural Machine Translation).
Word Embeddings
-
Familiarity with word embedding techniques like Word2Vec, GloVe, and FastText.
-
Using pre-trained word embeddings for NLP tasks.
Sequence-to-Sequence Models
-
Knowledge of sequence-to-sequence models for tasks like machine translation and text summarization.
Language Models
-
Understanding of language models like BERT and GPT for various NLP tasks.
Dependency Parsing
-
Implementing dependency parsing algorithms to analyze syntactic relationships between words in sentences.
Speech Recognition (Optional)
-
Familiarity with speech recognition technologies and tools.
Natural Language Generation (NLG)
-
Understanding NLG techniques for generating human-like text.
NLP Libraries and Frameworks
-
Proficiency in using NLP libraries and frameworks like spaCy, NLTK, Transformers, and TensorFlow.
Data Annotation and Labeling
-
Experience with annotating and labeling training data for supervised learning tasks.
Evaluation Metrics
-
Knowledge of evaluation metrics relevant to NLP tasks (e.g., F1 score, BLEU score).
Domain-Specific Knowledge
-
Depending on the application, familiarity with the specific domain or industry of the NLP project.
Continuous Learning
-
Staying updated with the latest NLP advancements, tools, and best practices.
-
Engaging with the NLP community, attending conferences, and participating in online forums.
​
Robotics Engineer
Mechanical Engineering
-
Understanding of mechanical principles, including kinematics and dynamics.
-
Knowledge of materials, manufacturing processes, and mechanical design.
Electrical Engineering
-
Proficiency in electrical and electronic circuits.
-
Familiarity with sensors, actuators, and control systems.
Computer Science and Programming
-
Proficiency in programming languages commonly used in robotics, such as Python, C++, and ROS (Robot Operating System).
-
Algorithms and data structures for robot control and navigation.
Robotics Fundamentals
-
Knowledge of robotics basics, including robot kinematics, dynamics, and control.
-
Understanding of robot perception (sensors and cameras) and decision-making algorithms.
Robot Hardware Design
-
Designing and building robot hardware, including mechanical structures and electronic components.
-
Knowledge of mechatronics and sensor integration.
Robot Control and Navigation
-
Implementing robot control algorithms for tasks like path planning, localization, and motion control.
-
Understanding of PID controllers, Kalman filters, and SLAM (Simultaneous Localization and Mapping).
Robot Vision
-
Familiarity with computer vision techniques for robot perception.
-
Image processing, object detection, and tracking.
Robot Manipulation and Manipulators
-
Understanding robot manipulator design and kinematics.
-
Grasping and manipulation techniques for robotic arms and end-effectors.
Robot Dynamics and Simulation
-
Simulation tools for modeling and testing robot behavior.
-
Gazebo and V-REP for robot simulation.
Human-Robot Interaction (HRI)
-
Knowledge of HRI principles for collaborative robots (cobots) and human-robot teamwork.
Robot Operating System (ROS)
-
Proficiency in ROS, a widely used framework for developing and controlling robots.
-
ROS packages, nodes, and message passing.
AI and Machine Learning for Robotics
-
Understanding of AI and ML algorithms for perception and decision-making.
-
Reinforcement learning for robot control.
Control Systems Engineering
-
Knowledge of control theory and control systems design.
-
PID control, state-space control, and feedback control.
Embedded Systems
-
Proficiency in embedded systems programming for real-time control of robots.
-
Microcontrollers and microprocessors.
Ethics and Safety in Robotics
-
Awareness of ethical considerations and safety protocols in robotics, especially in autonomous systems.
Robotics Software Development
-
Software engineering practices for developing and maintaining robotic systems.
-
Version control, software architecture, and testing.
Continuous Learning
-
Staying updated with the latest advancements in robotics technology and research.
-
Engaging with the robotics community, attending conferences, and participating in online forums.
Project Management
-
Effective project management skills for planning, executing, and completing robotics projects.
Mobile Robotics
-
Knowledge of mobile robotics, including wheeled and legged robots, drones, and autonomous vehicles.
Industrial Robotics (Optional)
-
Understanding of industrial robot applications, automation, and robotic arms in manufacturing.
AI Research Scientist
Mathematics
-
Mastery of mathematical concepts including linear algebra, calculus, probability theory, and statistics.
-
Knowledge of optimization algorithms.
-
In-depth understanding of machine learning algorithms and techniques.
-
Proficiency in deep learning frameworks like TensorFlow and PyTorch.
-
Experience
Computer Science
-
Strong programming skills in languages like Python and C++.
-
Knowledge of data structures, algorithms, and software engineering principles.
Natural Language Processing (NLP) (Optional)
-
Understanding of NLP techniques for text data analysis and language modeling.
Computer Vision (Optional)
-
Familiarity with computer vision algorithms and techniques for image and video analysis.
Reinforcement Learning (Optional)
-
Knowledge of reinforcement learning algorithms and applications.
-
Awareness of ethical considerations in AI research and development.
Research Methodology
-
Skills in conducting scientific research, including experimental design, data collection, and analysis.
-
Writing research papers and communicating findings effectively.
Data Management and Preprocessing
-
Handling large datasets and data pipelines.
-
Knowledge of various neural network architectures (e.g., CNNs, RNNs, Transformers).
-
Model selection and hyperparameter tuning.
Reinforcement Learning (Optional)
-
Understanding of reinforcement learning algorithms and applications.
-
Experience with RL libraries like OpenAI Gym.
AI Tools and Frameworks
-
Familiarity with AI development tools and libraries, including scikit-learn, NLTK, spaCy, and others.
Experimentation and Evaluation
-
Designing experiments to test AI models and algorithms.
-
Evaluation metrics and statistical significance.
Continuous Learning
-
Staying updated with the latest AI research papers, advancements, and trends.
-
Engaging with the AI research community, attending conferences, and participating in online forums.
Domain Knowledge (Optional)
-
Depending on research focus, domain-specific knowledge may be required (e.g., healthcare, finance, robotics).
Collaboration Skills
-
Collaborating with interdisciplinary teams and researchers.
-
Effective communication of research findings to both technical and non-technical audiences.
Project Management
-
Managing research projects efficiently, setting milestones, and meeting deadlines.
PhD (Optional)
-
Many AI Research Scientists hold a Ph.D. in computer science or a related field, although it's not always required.