برنامهنویسی رایانه (اختصاری برنامهنویسی) فرایند طراحی و ساخت یک برنامه کامپیوتری قابل اجرا برای دستیابی به یک نتیجه محاسباتی خاص است. برنامهنویسی شامل کارهایی از قبیل: آنالیز، تولید الگوریتمها، پروفایل دقیق الگوریتمها و مصرف منابع و اجرای الگوریتمها به زبان برنامهنویسی انتخاب شده (معمولاً به عنوان رمزگذاری است). کد منبع برنامه به یک یا چند زبان نوشته شدهاست که برای برنامه نویسان قابل درک است و نه کد ماشین، که مستقیماً توسط واحد پردازش مرکزی اجرا میشود. هدف از برنامهنویسی یافتن دنباله ای از دستورالعملها است که باعث میشود عملکرد یک کار (که میتواند به عنوان یک سیستم عامل پیچیده باشد) به صورت خودکار انجام شود، اغلب برای حل یک مشکل معین؛ بنابراین، برنامهنویسی ماهرانه نیاز به تخصص در چندین موضوع مختلف، از جمله دانش در مورد دامنه برنامه، الگوریتمهای تخصصی و منطق رسمی دارد.