CSCI-Y 390 Independent Study
3 credits
- Prerequisite(s): CSCI-C 310 Data Structures – Python or CSCI-C 343 Data Structures – Java
- Delivery: On-Campus, Online
Description
Independent research based on existing literature or original work. A report, in the style of a departmental technical report, is required.
Topics
Advanced algorithms and data structures
- Graph algorithms
- Advanced sorting and searching techniques
- Dynamic programming
- Computational complexity
Software development and engineering
- Design patterns
- Software architecture
- Testing and quality assurance
- Agile methodologies
Systems programming
- Operating systems internals
- Network programming
- Concurrency and parallelism
- Low-level programming (e.g., in C or assembly language)
Theoretical computer science
- Automata theory
- Formal languages
- Computational theory
Elective and specialized topics
Artificial intelligence and machine learning
- Neural networks
- Natural language processing
- Reinforcement learning
- AI ethics
Cybersecurity
- Cryptography
- Network security
- Secure coding practices
- Ethical hacking
Data science and big data
- Data mining
- Statistical analysis
- Big data frameworks (e.g., Hadoop, Spark)
- Data visualization
Human-computer interaction (HCI)
- Usability testing
- User interface design
- Interaction design
Learning Outcomes
- Differentiate algorithms by complexity and identify their appropriate applications. CS 1
- Critique the design and usability of software interfaces. CS 2
- Evaluate the effectiveness of various software testing strategies. CS 2
- Compare and contrast different machine learning models and their performance. CS 4
- Create a new algorithm to solve a specific computational problem. CS 1
- Build a complete software solution for a real-world problem. CS 2
- Confirm the results of a computational experiment through rigorous testing. CS 2
- Generate new hypotheses based on experimental data and design experiments to test them. CS 7
- Justify the choice of a particular system architecture for a given project. CS 3
Policies and Procedures
Please be aware of the following linked policies and procedures. Note that in individual courses instructors will have stipulations specific to their course.