Code-switching, the alternation of languages within a conversation orutterance, is a common communicative phenomenon that occurs in multilingualcommunities across the world. This survey reviews computational approaches forcode-switched Speech and Natural Language Processing. We motivate whyprocessing code-switched text and speech is essential for building intelligentagents and systems that interact with users in multilingual communities. Ascode-switching data and resources are scarce, we list what is available invarious code-switched language pairs with the language processing tasks theycan be used for. We review code-switching research in various Speech and NLPapplications, including language processing tools and end-to-end systems. Weconclude with future directions and open problems in the field.